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 段错误文件就可以看到程序出错最后的栈的信息了。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。