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