当我的代码中的断言失败时,我从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特别感兴趣,所以如果有一种方法可以配置gdb,那也可以。
我必须去
'up <RET> <RET> <RET>'
你可以用fr 3
代替。
是否有一种方法可以配置gdb自动转到堆栈中的#3 ?
我不这么认为。