working around batch mode command errors

Maucci, Cyrille cyrille.maucci@hp.com
Sun Oct 28 22:28:00 GMT 2012


Hello gdb'ers,


I've got a batch script that is meant to be invoked on customer production systems, should a process dump a core file. The goal of this script is to quickly and easily collect and send to support people very basic information about the coredump, because :
1- that is often painful and slow to get the core file itself (and dependant libs) out of the system for in depth analysis.
2- most of the time information contained in the script output is enough for the source code owners to understand what the problem is.


So the script looks like this:

set pagination off
info sharedlibrary
info threads
up 128
info args
info locals
frame 0
info source
info args
info locals
info frame
info all-registers
print *this
thread apply all bt
thread apply all bt full
quit


One of the problem I have is that when frame 0 is not C++ code, "print *this" fails and the script aborts with the following error

Error in sourced command file:
No symbol "this" in current context.

And therefore all subsequent commands are not executed.
I wanted to know if there would be any possiblity to avoid halting on such errors.

An aside question would be is there any built-in commands allowing to do something like

for each frame do
info source
info args
info locals
info frame
info all-registers
print *this
done  


Thanks a bunch for your help
++Cyrille



More information about the Gdb mailing list