[ARM] dlopen and remote debugging
karthikeyan.s
informkarthik@gmail.com
Thu Jun 24 18:12:00 GMT 2010
Hi,
We recently encountered an issue with gdb wherein it does not get the
symbols from a shared library when loaded with dlopen. The following
steps does not give us the shared library's symbols. The binary is
Xorg.
1)
<target> gdbserver :10000 /usr/bin/X -ac
<host gdb> set sysroot <targetfs_path>
<host gdb> target remote 10.0.0.3:10000
<host gdb> continue
<host> cntrl-C
We do not get the library's symbols here. But with cat
/proc/{x_pid}/maps we can see the library is loaded in memory.
2) But with the following steps, the libraries get loaded
<target> /usr/bin/X -ac &
<target> gdbserver :10000 --attach <X_pid>
<host gdb> set sysroot <targetfs_path>
<host gdb> target remote 10.0.0.3:10000
We can see the library's symbols and hit breakpoint, debug etc. etc.
Architecture - ARM cortex-a9
toolchain - codesourcery arm-none-linux-gnueabi
gdb version - 7.1.50 (almost the latest!)
The library built with -g2 -ggdb and is not stripped.
Any reason for the first method to not load the symbols? What part of
gdb code should I dig into for this?
Regards,
Karthik
More information about the Gdb
mailing list