为什么我的GDB批处理模式退出状态始终为0?

时间:2015-08-13 17:37:25

标签: gdb

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

1 个答案:

答案 0 :(得分:1)

  

为什么会发生这种情况?有办法吗?

众所周知gdb Bug 13000。您可以从Bug 13000中应用experimental patch并重建可能适合您的gdb。