20170724Linux下安装GDB以及调试时候遇到的问题延伸
Linux下安装GDB以及调试时候遇到的问题延伸
一:实践安装gdb:
1.yum list updates 进行软件更新;
图一
2.yum list gdb* 进行安装包查询;
出现在Installed Packages 下面的为已经安装的软件,出现在Available Packages 下面的为可以升级或者没有安装的安装包。同时出现在Installed Packages、Available
Packages下面的为可升级安装包。
图二
3.针对可安装的软件进行安装;
yum install 文件名称 回车 然后输入y即可
图三二:问题延伸
使用gdb进行调试的时候会出现问题,Missing separate debuginfos, use: debuginfo-install glibc-2.17-157.el7_3.5.x86_64的解决办法
1.修改文件下的参数
修改文件/etc/yum.repos.d/CentOS-Debuginfo.repo中的enabled参数,将其值修改为1,如:vim /etc/yum.repos.d/CentOS-Debuginfo.repo
图四2..使用yum install命令
yum install nss-softokn-debuginfo --nogpgcheck
3.安装gilbc:
debuginfo-install glibc
如果出现下面的问题:
-bash:debuginfo-install: command not found
则先安装yum-utils,使用命令:
yum install yum-utils
4.安装:libgcc-4.4.7-3.el6.x86_64,使用命令:
debuginfo-installlibgcc-4.4.7-3.el6.x86_64
三、GDB调试
1. 编译生成gdb可调试的文件,进入gdb调试环境;
gcc -g gdb.c -o testgdb (如果是c++文件,则语句是g++ -g gdb.cpp -o testgdb)
gdb testgdb
图5
2.gdb参数实践
l 代表list,自动编号,从第一行列出源码
break * 在*行设置断点
break func 在func函数如后设置断点
info break 显示设置的断点的情况
r 运行run
n 单条语句执行next
c 继续执行continue
bt 查看函数堆栈 backtrace
p+变量 print查看某个变量的值
finish 退出函数
q 退出gdb