获取GDB以在返回其提示时打印堆栈跟踪

时间:2011-02-15 22:11:55

标签: debugging gdb

如何在每次向我的提示符返回控件时让GDB打印堆栈跟踪(例如,自动运行bt命令 )?

1 个答案:

答案 0 :(得分:5)

您可以使用“define”命令定义执行常规操作的新命令,然后运行回溯,或者您可以使用“define hookpost-command”-form通过其他操作扩展现有命令。

(gdb) define hookpost-next
Type commands for definition of "hookpost-next".
End with a line saying just "end".
>backtrace
>end
(gdb) next
19          for (int k = 0; k<loops; ++k){
#0  main () at optimize.cpp:19

您可以将它放入.gdbinit文件中,以便在gdb启动时自动加载:

define hookpost-next
backtrace
end

您可以为要使用回溯扩展的每个命令执行此操作。