返回信息流求问,gdb调试过程中,程序出现错误,我想记录下程序退出之前,所有执行的源码,按执行顺序打印出来,这个怎么弄哈
这是一条镜像帖。来源:北邮人论坛 / cpp / #88449同步于 2015/8/28
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
求问,gdb调试过程中,程序出现错误
fallback
2015/8/28镜像同步5 回复
订阅后,新回复会通过你的通知中心匿名送达。
5 条回复
比如一段代码
int p=0;
scanf("%d",p);
用gdb调试报错
用bt(back trace)可以看到出错之前的执行情况,类似于如下打印:
#0 0x........ from /lib/..
#1 0x........ in ?? ()
#2 0x........ in scanf () from /lib/libc.so.6
#3 0x.........in main () at crash.c:11
就可以大概知道是scanf可能出错。把值赋给了为0的地址。
如果再想具体,我一般是从调试信息里看到大概位置然后多加打印……比较笨
等大神来看看还有没更好的gdb调试的方法。
【 在 fallback 的大作中提到: 】
: 求问,gdb调试过程中,程序出现错误,我想记录下程序退出之前,所有执行的源码,按执行顺序打印出来,这个怎么弄哈
推荐LZ使用cgdb,你会爱上它的