This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
siginfo and core files
- From: jmf list <jmf dot list at gmail dot com>
- To: gdb at sourceware dot org
- Date: Fri, 25 May 2012 09:53:24 -0400
- Subject: siginfo and core files
Hello,
Is it possible to access the si_addr and si_signo siginfo fields from
a core dump in GDB? When debugging a live process I access these
values via the $_siginfo convenience var. I am not sure if both of
these values are normally stored in a core dump, or if they are
accessible via GDB.
I noticed that the signal number is printed to the console when I load
a core file, so I started reading the GDB source around the string
"Program terminated with signal" and found that the signal number is
read from the core file via gdb/corelow.c::core_open and
bfd/corefile.c::bfd_core_fail_failing_signal. It isn't apparent to me
that any of the other siginfo is stored or read, however.
I would like to access these values via the GDB Python API for both
live processes and core files. As it stands, I could potentially parse
'info target' to determine the target type, and respectively use
"$_siginfo" to get both si_signo and si_addr if my script is running
on a live process, or use "target core <corefile>" to get just the
signal number (and let the tool degrade gracefully for lack of
si_addr) if my script is running on a core file. That solution is a
bit of a kludge though, and I would like to access si_addr in the core
file if possible.
I am running GDB 7.4 in FC16 on x86_64 for this analysis.
Thanks. Any help would be appreciated,
J