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: Remote gdb and shared libraries


On Mon, May 01, 2006 at 10:15:39PM -0600, Doug Abbott wrote:
> The first suspicious thing that happens is when gdb connects to the 
> target, it returns:
> 
>    0x40001470 in ?? ()
> 
> implying to me that it can't find the name of the function at that 
> particular address.

You're in the dynamic loader but GDB doesn't yet know where the dynamic
loader has been loaded.  This is typical.

>    From               To                  Syms Read       Shared Object
>    Library
>    0x40035cd0     0x401162cc  No                 
>    /usr/local/arm/arm-linux/lib/libc.so.6
>    0x40001470     0x40011598  No                
>    /usr/local/arm/arm-linux/lib/ld-linux.so.2
> 
> Hmmm.  The most suspicious aspect of this is the Syms Read column that 
> says "No".  Why didn't it read the symbols?

Because it couldn't find them.  You have to tell it where they are.
Have you used set solib-absolute-prefix?  If not, try that.  Do your
libraries precisely match the target's?

> With each next command, gdb says "Cannot access memory at address 0x0".  
> When I try to step over a call to printf() (with next), it says  
> "0x000082cc in ?? ()".  Executing next again returns "Cannot find bounds 
> of current function".

You have to use nexti / stepi when you've gotten into somewhere that
GDB doesn't know about.

The fact that it doesn't know about 0x82cc is suspicious.  You did load
your application into GDB, right?  Using "file" or on the command line?


-- 
Daniel Jacobowitz
CodeSourcery


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