GDB docs说:
-batch
以批处理模式运行。处理了使用“
0
”指定的所有命令文件后,退出状态为-x
...如果执行错误,则退出非零状态命令文件中的gdb命令。
但即使有错误,我的退出状态也为零。例如:
$ cat gdbscript
foo
$ gdb -batch -x gdbscript
gdbscript:1: Error in sourced command file:
Undefined command: "foo". Try "help".
$ echo $?
0
如果我在脚本中使用quit 1
,则GDB程序状态是正确的。
为什么会发生这种情况?有办法解决吗?我正在尝试刷新远程目标,如果失败,我真的希望GDB退出并显示错误状态。
我的GDB版本,它应该是重要的:
GNU gdb(适用于ARM嵌入式处理器的GNU工具)7.8.0.20150604-cvs
答案 0 :(得分:1)
为什么会发生这种情况?有办法吗?
众所周知gdb Bug 13000。您可以从Bug 13000中应用experimental patch并重建可能适合您的gdb。