[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Single stepping inside shared lib functions on ARM
From: |
Veit |
Subject: |
Re: Single stepping inside shared lib functions on ARM |
Date: |
Sat, 31 Mar 2007 09:56:09 -0700 (PDT) |
Hi there, perhaps you solve it by:
add-sym-file $HOSTPATH/yoursharedobject.so.
GDB then tries to extract the symbol information from that file and appends
it to the existing symbol information.
Yours,
vw
( Veit Wehner )
Dheeraj V.S. wrote:
>
> Hi,
> I'm remote debugging on an ARM target using gdb 6.5.
> I'm unable to step into functions that are defined inside shared libraries
> although the identical .so file is accessible both by the host and target.
>
> These are the test programs used:
> linux:/home/dheeraj # cat gdb_test.c
> #include <stdio.h>
>
> void function ()
> {
> printf ("In function\n");
> }
>
> extern void function_in_lib();
>
> int main ()
> {
> printf ("In main\n");
> function();
> function_in_lib();
> printf ("Quitting\n");
> return 0;
> }
>
> linux:/home/dheeraj # cat gdb_test_lib.c
> #include <stdio.h>
> void function_in_lib ()
> {
> printf ("In function_in_lib\n");
> }
>
> The following is the output of gdb 6.5:
> Note the lines with the arrows (<----)
>
> linux:/home/dheeraj # arm-unknown-linux-gnu-gdb
> GNU gdb 6.5
> This GDB was configured as "--host=i686-pc-linux-gnu
> --target=arm-unknown-linux-gnu".
> (gdb) set solib-absolute-prefix /home/dheeraj
> (gdb) set solib-search-path /home/dheeraj
> (gdb) file gdb_test
> Reading symbols from /home/dheeraj/gdb_test...done.
> (gdb) b main
> Breakpoint 1 at 0x8630: file gdb_test.c, line 12.
> (gdb) target remote 10.18.21.35:3456
> Remote debugging using 10.18.21.35:3456
> 0x40000ba0 in ?? ()
> (gdb) c
> Continuing.
>
> Breakpoint 1, main () at gdb_test.c:12
> 12 printf ("In main\n");
> (gdb) n
> Cannot access memory at address 0x0 <---- Problem??
> 13 function();
> (gdb) s
> function () at gdb_test.c:5 <---- Stepping inside the same file is OK.
> 5 printf ("In function\n");
> (gdb) n
> 6 }
> (gdb) n
> Cannot access memory at address 0x0
> main () at gdb_test.c:14
> 14 function_in_lib();
> (gdb) s
> 0x40015060 in ?? () <---- Cannot step into a function in shared lib!
> (gdb) n
> Cannot find bounds of current function <---- Problem??
> (gdb) c
> Continuing.
>
> I tried the same using gdb 5.3. This time, I'm still unable to step into
> the
> shared lib function, but I don't get the errors like "Cannot access memory
> at address 0x0" and "Cannot find bounds of current function". In gdb 5.3,
> the "step" command is treated as a "next" command for the shared lib
> function.
>
> Similar problems were reported in some archives, but I've not found a
> solution that works.
> Any help is appreciated.
>
> Dheeraj
> --
>
>
>
>
>
>
>
--
View this message in context:
http://www.nabble.com/Single-stepping-inside-shared-lib-functions-on-ARM-tf3053566.html#a9769150
Sent from the Gnu - gdb - General mailing list archive at Nabble.com.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: Single stepping inside shared lib functions on ARM,
Veit <=