This is the mail archive of the gdb@sources.redhat.com 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]

Determining loaded libraries from a core file?


I know this is a bit off topic but I hope someone on this list can help.

I have build a debugging tool that is very specific to the code that I support. This debugger works directly with core files on other OSs and I have been working to port this debugger to Linux for a verity of platforms but I have hit a road block.

My problem is this.. I need to determine what libraries were used by the process that crashed and where they were mapped into memory so that I can virtually map the library to the same address space for my debugger.  GDB manages to find the libraries so I know it's possible but I can't see where in the core file this information is located? 

It had occurred to me that GDB might be looking at the executable (supplied as a parameter to GDB) and some how finding a way to map the libraries linked in to the executable to the PT_LOAD segments found in the core file defined with a 0 length file size. This seems very unlikely to me as this would mean that GDB would have no information about libraries that are programmatically loaded at run-time.

Short and sweet version:  Given a core file that crashes while executing code in library lib123.so, how do I determine that lib123.so was used by the process that crashed and how do I determine what memory address lib123.so was mapped to for that process.

Any help would be much appreciated.
-- 
___________________________________________________________
Sign-up for Ads Free at Mail.com
http://promo.mail.com/adsfreejump.htm


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