当我的代码中的断言失败时,我会从gdb得到一个类似下面这样的回溯:
(gdb) bt
#0 0x00007ffff455b3a5 in __GI_raise (sig=6)
at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#1 0x00007ffff455eb0b in __GI_abort () at abort.c:92
#2 0x00007ffff4553d4d in __GI___assert_fail (
assertion=0x123136d "<some failed test>", file=<optimized out>,
line=1573, function=<optimized out>) at assert.c:81
#3 <the actual place in my code where I called assert>
...因此,为了到达实际的故障点,我必须使用“up <RET> <RET> <RET>”,这似乎有点低效。有没有办法将gdb配置为自动转到堆栈中的#3?我对在emacs中运行gdb特别感兴趣,所以如果有一种方法可以配置gud来做这件事,那也是可行的。
发布于 2011-10-22 09:57:44
我得走了'up <RET> <RET> <RET>'
您可以改为使用fr 3。
有没有办法将gdb配置为自动转到堆栈中的#3?
我想不行。
https://stackoverflow.com/questions/7856093
复制相似问题