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>'に移動する必要がありますが、これは少し非効率的です。スタックの#3に自動的に移動するようにgdbを構成する方法はありますか?私は特にemacsでgdbを実行することに興味があるので、それを実行するようにgudを構成する方法があれば、それも機能します。

4

1 に答える 1

0

私が行かなければならない'up <RET> <RET> <RET>'

代わりに行うことができますfr 3

スタックの #3 に自動的に移動するように gdb を構成する方法はありますか?

私はそうは思いません。

于 2011-10-22T01:57:43.503 に答える