GDB与coredump错误类文件的解析

                     GDB与coredump错误类文件的解析
  GDB是Linux与UNIX系统下的一款程序调试工具,下面来介绍GDB的用法:

请先看这个程序:
这里写图片描述
这是我们作为实验的一个小程序,共10行输出4
这里写图片描述
进行编译如果要用GDB调试必须要加-g参数
这里写图描述
这是编译好的文件的正常运行
这里写图片描述
开始调试这个程序 gdb 加文件名
这里写图片描述
现在介绍第一个参数l(list)就是如图这样显示程序的内容, l后还可以加数字,就是打印这个行数上下共10行。
这里写图片描述
start程序开始单步调试,自动执行第一步。
这里写图片描述
参数b 设置断点就是程序函数到这一步暂停等待下一步的指示,b 5 就是在第五行设置断点,特别的如果这一行是空行,它会自动跳到下一行去,所以设置的断点不是绝对的断点,r参数(run)就是运行程序,一步运行完或者到断点暂停,使用r与b 参数可以随心所欲的掌控程序运行。
这里写图片描述
info b查看断点的数量与情况,del 行号,删除已经设定的行号,应经设定的断点会一直存在(请注意这一点)
这里写图片描述
参数c程序继续执行直到遇到下一个断点暂停,n不进入子函数进行单步运行,s进入子函数进行单步运行。
p 打印某个值,set 给某个值赋值。
注意:
系统函数不能单步调试
无初始值的行也会自动跳过

     现在介绍有段错误文件的调试,一般操作系统并不开生成错误文件这个选项,因为这回产生很多的垃圾文件,我们可以通过
     ulimit -c unlimited 开启生成coredump文件。想要永久生效请修改,配置文件:
  bash.profile /etc/profile 或者/etc/security/limits.conf
     然后 echo"/corefile/core-%e-%P-%t"> /proc/sys/kernel/core_pattern 
 产生的core文件名为core-进程名-PID-时间戳 %h添加主机名
     然后就可以调试了gdb coredump 段错误文件就可以看到程序出错最后的栈的信息了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值