This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
working around batch mode command errors
- From: "Maucci, Cyrille" <cyrille dot maucci at hp dot com>
- To: "gdb at sourceware dot org" <gdb at sourceware dot org>
- Cc: "Maucci, Cyrille" <cyrille dot maucci at hp dot com>
- Date: Sun, 28 Oct 2012 22:28:32 +0000
- Subject: 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