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]

working around batch mode command errors


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


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