Ticket #90 (closed enhancement: fixed)
Include enough information to off-line map stack to line numbers when there had been no local debuginfo
|Reported by:||caolanm||Owned by:||dvlasenk@…|
There's going to be cases where debuginfo is not available locally, especially for e.g. OpenOffice?.org where the debuginfo rpm is at least 500M. So I'd like enough information in the bt that can be used to off-line map the addresses back to line numbers. For that I need to know where prelinked shared libraries ended up.
simply adding "info sharedlib" to the gdb line should be enough I think. As attached here.
One way (maybe there's a better one) to use this with off-line debuginfo could be...
So given a bt from someone with a prelinked libXt with no local debuginfo installed
(gdb) thread apply all backtrace full #4 0x07ec047c in XtAppMainLoop () from /usr/lib/libXt.so.6 No symbol table info available. (gdb) info sharedlib From To Syms Read Shared Object Library 0x07eb1930 0x07eeeae8 Yes /usr/lib/libXt.so.6
The developer can grab the matching debuginfo and reannotate this back to source lines with
$readelf -l libXt.so.debug |grep Entry Entry point 0xb930 #address-prelink_entry_point+unprelinked_entry_point $echo "ibase=16;obase=10;07EC047C-07EB1930+B930" | bc 1A47C $addr2line -e libXt.so.debug -f 0x1A47C XtAppMainLoop /usr/src/debug/libXt-1.0.5/src/Event.c:1552