0

当我的代码中的断言失败时,我会从 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 来做到这一点,那也可以。

4

1 回答 1

0

我得走了'up <RET> <RET> <RET>'

你可以这样做fr 3

有没有办法将 gdb 配置为自动转到堆栈中的#3?

我不相信。

于 2011-10-22T01:57:43.503 回答