This is the mail archive of the gdb@sourceware.org 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]

Re: Restarting gdbserver


On Sun, 23 Jan 2011 17:43:44 +0100, Leon Pollak wrote:
> Thank you, Jan.
> 
> I hope I understood and did what you said:
> 
> bash-4.1$ ./gdb -nx -ex file /opt/FS/common/csu -ex target extended-remote 
> 192.168.50.4:44000 -ex set sysroot /opt/FS -ex set remote exec-file 
> /common/csu -ex start
> GNU gdb (GDB) 7.2
> Copyright (C) 2010 Free Software Foundation, Inc.
> License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
> This is free software: you are free to change and redistribute it.
> There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
> and "show warranty" for details.
> This GDB was configured as "--host=x86_64-unknown-linux-gnu --target=armv5tl-
> montavista-linux-gnueabi".
> For bug reporting instructions, please see:
> <http://www.gnu.org/software/gdb/bugs/>.
> Reading symbols from /opt/FS/common/csu...done.
> Remote debugging using 192.168.50.4:44000
> Temporary breakpoint 1 at 0x20374: file /Projects/CSU/src/main.cpp, line 16.
> Starting program: /opt/FS/common/csu 
> 
> Temporary breakpoint 1, main () at /Projects/CSU/src/main.cpp:16
> 16              MsgLog("OFP Version: %s dated %s", OFP_VERSION, 
> __TIMESTAMP__);
> (gdb) c
> Continuing.
> ^C
> Program received signal SIGINT, Interrupt.
> 0x400314bc in pthread_cond_wait@@GLIBC_2.4 () from /opt/FS/lib/libpthread.so.0
> (gdb) bt
> #0  0x400314bc in pthread_cond_wait@@GLIBC_2.4 () from 
> /opt/FS/lib/libpthread.so.0
> #1  0x00000000 in ?? ()
> (gdb) 
> ----------------------------------------------------------------------------
> God knows why it decided to stop at main...

This is done intentionally by the GDB command `start'.


> Is it what you meant?

So symbols from /opt/FS/common/csu work as can be seen in the main function.

Symbols from remote `/lib/libpthread.so.0' do not work. I guess it uses
separate debug info.  You can try:
readelf -wi /opt/FS/lib/libpthread.so.0
readelf -wi /opt/FS/usr/lib/debug/opt/FS/lib/libpthread.so.0
readelf -wi /opt/FS/usr/lib/debug/opt/FS/lib/libpthread.so.0.debug
# There are just guesses, it depends on the montavista distro from which comes
# /opt/FS/lib/libpthread.so.0 and I do not know montavista. readelf should
# come from the montavista cross binutils package.

I guess you should really use also the part of the reproducer from me:
  -ex 'set debug-file-directory /host1/usr/lib/debug
that is in your case:
  -ex 'set debug-file-directory /opt/FS/usr/lib/debug

And you should also verify the separate debug info files from montavista are
installed under /opt/FS/usr/lib/debug (for example *-debuginfo.rpm packages in
Fedora).


Regards,
Jan


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