loading different libraries than in the core?

Matthew Woehlke <[email protected]>
Newsgroups gmane.comp.gdb.general
Message-ID <[email protected]>
I often have to look at core files from customers that have installed 
our software in various places and on machines with various libc's. Is 
there a way to instruct gdb to ignore the paths in the core when loading 
libraries and instead load libraries from somewhere else?

In particular, say I have a core that was using these libraries:
/usr/lib/libc.so.6
/opt/foosoft/bar/libbarutil.so

...and I want to tell gdb to instead use:
/mydev/tmp/customer/libc.so.6
/mydev/product/bar/libbarutil.so

Is there a way to do this?

The problem with where the customer has installed our software can be 
worked around (but involves becoming root on the box to make appropriate 
directories with appropriate symlinks), but libc is a bigger issue. When 
we get 32-bit cores, the libc calls are wrong but the stack can usually 
be unwound anyway. Unfortunately 64-bit cores are frequently useless 
unless we can look at them on a system with the *exact* same libc as the 
one that generated the core.

-- 
Matthew
Microsoft: Expect the unexpected
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.