退出。gdbinit
我编写了一个退出。gdbinit,gdb,Gdb,我编写了一个.gdbinit文件,其中包含要由gdb执行的命令: file program run arg1 arg2 bt quit 问题在于,如果程序崩溃,则退出会成功执行,如果程序成功完成,则不会执行 无论哪种情况,我都需要退出才能完成。如何修复 问题是,如果程序崩溃,quit将成功执行,而如果程序成功完成,quit将不会执行 这是因为如果程序成功完成,bt会导致错误。它会导致无堆栈错误: .gdbinit:3: Error in sourced command file: No sta
.gdbinit
文件,其中包含要由gdb
执行的命令:
file program
run arg1 arg2
bt
quit
问题在于,如果程序
崩溃,则退出
会成功执行,如果程序
成功完成,则不会执行
无论哪种情况,我都需要退出才能完成。如何修复
问题是,如果程序崩溃,quit将成功执行,而如果程序成功完成,quit将不会执行
这是因为如果程序成功完成,bt
会导致错误。它会导致无堆栈
错误:
.gdbinit:3: Error in sourced command file:
No stack.
由于错误,后续的quit
无法执行
您可以使用$\u isvoid
和$\u exitsignal
变量来修复.gdbinit
脚本:
file program
run arg1 arg2
if $_isvoid ($_exitsignal)
echo The program has exited\n
else
echo The program has signalled\n
bt
end
quit
如果程序以以下方式崩溃,请参阅文档。程序接收信号SIGSEGV,分段故障。我收到一份报告
程序已退出且无任何跟踪。