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]

Classifying core files?


Hi all;

I have a situation where I'm collecting cores from a wide variety of
(well-defined) systems: there are cores from other architectures (where
I need a cross debugger), cores from different executables, cores that
require special extra shared objects to be available (because they
dlopen() things), etc.

What I have at my disposal is a bunch of local and cross-debuggers and
gcc/binutils suites, a bunch of potential executables that cores could
come from, and a bunch of shared objects that might or might not have
been loaded.  And, a core file.


What I'm trying to do is generate a script that can determine the right
set of GDB executable, GDB command line options (to "set sysroot",
etc.), etc., starting with only the core file itself as information,
then invoke GDB properly.

What options do I have to help me do this?  About all I have is using
"file" or maybe "readelf" to find the hardware type, so I can guess
more-or-less which cross-GDB I might need.  Then when I start GDB with
the core it will say something like "Core was generated by `someapp'."
Once I have the executable I can use "info shared" to find missing
dynamic objects.

This seems brittle, esp. the first part using "file" and parsing the
output of GDB to find the executable.  Does anyone have any better
options?  Are there any "info" operations in GDB I could use, given
_only_ the core file, that can help me?  What about some way of tagging
the executables themselves, either with a string or somehow in the
executable ELF image that would get added to the core, that I could
query given just the resulting core file?

Any ideas would be welcome.  Thanks!


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