GDB 7.2 gets SIGSEGV when step into a function in a shared library
Yao Qi
yao@codesourcery.com
Thu Sep 15 16:13:00 GMT 2011
On 09/15/2011 12:21 AM, Liang Cheng wrote:
> Hi,
>
> The application and library under debug were built for ARM. The
> target is running Android OS,
> and the host is Linux X86 64. As long as we try to step into the
> function xa_fun_in_lib, it would
> cause segmentation fault in gdb. Same thing happened if step the instructions.
>
> Here are the experiments I did for this issue, and some notes.
>
If you are reporting a problem of gdb, please describe the problem as
clear as possible. A clean and simple debug session is helpful for
other people here to understand what is your problem. Please don't mix
the experiments or your work in the problem description.
>
> So far I am stuck because of no idea why PC gets messed up. Anyone
> else the similar issue
> when trying to debug function in library? And any input to how to
> investigate gdb/gdbserver side
> also is appreciated. (below some other information is dumped).
>
Due to lack of clear steps you did in gdb, and its output, I have no
idea what the problem is and how do you get to the problem, except for
some wild guess,
> (gdb) disassemble /m 0x8d14
> Dump of assembler code for function main:
> ....
> 286 z = xa_fun_in_lib(10);
> => 0x00008d18<+84>: mov.w r0, #10
> 0x00008d1c<+88>: blx 0x8628
> 0x00008d20<+92>: mov r3, r0
> 0x00008d22<+94>: str r3, [r7, #44] ; 0x2c
How do you get SIGSEGV from here? I guess you typed `step' try to step
into xa_fun_in_lib, but get a SIGSEGV afterwards.
Last but not least, as Hui suggested, please try GDB 7.3 release or GDB
CVS trunk.
--
Yao (é½å°§)
More information about the Gdb
mailing list