2011-10-21 18 views
0

のshowアサート場所私のコードでアサーションが失敗すると、私はGDBからこのようなバックトレースを取得:のEmacs /:失敗

(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> 
    ... 

ので、障害の実際のポイントを取得するために、I 'up <RET> <RET> <RET>'に行かなければなりません。これは少し非効率的です。 GDBを自動的に#3にスタックするように設定する方法はありますか?私は特にemacsでgdbを動かすことに興味があるので、gudを設定する方法があれば、それもうまくいくでしょう。

答えて

0

私はあなたが代わりにfr 3を行うことができ'up <RET> <RET> <RET>'

を行かなければなりません。

gdbを自動的にスタック内の#3に設定する方法はありますか?

私はそう信じていません。