This is the mail archive of the
mailing list for the GDB project.
gdb -batch always exits with status 0
- From: Gary Benson <gbenson at redhat dot com>
- To: gdb at sourceware dot org
- Date: Thu, 5 Jul 2018 15:47:01 +0100
- Subject: gdb -batch always exits with status 0
I've been working on fixing PR gdb/13000, which is that GDB in batch
mode always exits with status 0 despite the manual saying it should
exit with nonzero status on error. The latter is what I'd intuitively
expect, so I'm looking at fixing GDB to match the docs rather than
fixing the docs to match GDB.
A narrow fix to make GDB match the docs is actually fairly simple,
but I'm bothered that not only does gdb -batch always exit with
status 0, it actually continues over any number of errors before
doing so. So you can do something like:
bash$ echo nonsense > cmds
bash$ echo garbage > .gdbinit
bash$ gdb -batch -iex invalid-command -ex also-invalid \
-cd /no/such/directory -p 1 -batch -ix /does/not/exist \
Undefined command: "invalid-command". Try "help".
warning: /does/not/exist: No such file or directory
/no/such/directory: No such file or directory.
ptrace: Operation not permitted.
.gdbinit:1: Error in sourced command file:
Undefined command: "garbage". Try "help".
Undefined command: "also-invalid". Try "help".
cmds:1: Error in sourced command file:
Undefined command: "nonsense". Try "help".
bash$ echo $?
Would anybody object to my changing GDB's behaviour to terminate
on the first error in batch mode?
(I'd also like to remove the 'Try "help".' suffix when in batch mode,
though I'd likely do that in a separate patch.)