This is the mail archive of the gdb@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

gdb -batch always exits with status 0


Hi all,

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 \
	  -x cmds
  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 $?
  0

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.)

Cheers,
Gary

--
https://gbenson.net/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]