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

grr*_*sel 2 debugging gdb

我怎样才能让GDB 每次在其提示符处向我返回控件时打印堆栈跟踪(例如自动运行bt命令)?

mis*_*_mp 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
Run Code Online (Sandbox Code Playgroud)

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

define hookpost-next
backtrace
end
Run Code Online (Sandbox Code Playgroud)

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