【问题标题】:Why is my GDB batch mode exit status always 0?为什么我的 GDB 批处理模式退出状态总是 0?
【发布时间】:2015-08-14 17:48:45
【问题描述】:

GDB docs 说:

-batch

以批处理模式运行。处理完所有以 '-x' 指定的命令文件后,以状态 0 退出 ...如果在执行 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

【问题讨论】:

标签: gdb


【解决方案1】:

为什么这会发生在我身上?有办法解决吗?

已知gdb Bug 13000。您可以从 Bug 13000 申请 experimental patch 并重建可能对您有用的 gdb。

【讨论】:

  • 我可以确认这已在arm-none-eabi 的版本 9 和 10 中得到修复。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-03-24
  • 1970-01-01
  • 2018-01-31
  • 2011-08-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多