This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
Re: GDB 7.2 gets SIGSEGV when step into a function in a shared library
On 09/16/2011 12:39 AM, Liang Cheng wrote:
> Sorry for not being clear.
> Here is the debug session getting SIGSEGV. xa_fun_in_lib is the
> function defined in shared library, and its symbols has been found by
> gdb. Step instruction also caused the same issue. The reason that I
> attach those disassemble dump is to avoid rounds of ask-give. Let me
> know if disassemble of the piece of code is needed. Any idea of why
> it happens?
>
This debug session is much clear than last one. Thanks.
> Breakpoint 1, main (argc=1, argv=0xbef25ca4) at vendor/altestavplayback.c:284
> 284 CheckErr(res);
> 3: x/i $pc
> => 0x8d12 <main+78>: ldr r0, [r7, #52] ; 0x34
> (gdb) n
> 286 z = xa_fun_in_lib(10);
> 3: x/i $pc
> => 0x8d18 <main+84>: mov.w r0, #10
> (gdb) s
>
Before you run `step', turn on some debug output first. Like this `set
debug infrun 1'. Then, when you run `step', you can see some debug
output, which will show how PC is changed and events inferior gets
during command `step'.
However, before we go into the details of debug output, could you check
whether GDB cvs trunk works or not. You just have to build gdb for arm,
and I think GDB cvs trunk should be able to work with your 7.2 gdbserver.
> Program received signal SIGSEGV, Segmentation fault.
> 0x00008d22 in main (argc=1, argv=0xbef25ca4) at vendor/altestavplayback.c:286
> 286 z = xa_fun_in_lib(10);
> 3: x/i $pc
> => 0x8d22 <main+94>: str r3, [r7, #44] ; 0x2c
> (gdb) info address xa_fun_in_lib
> Symbol "xa_fun_in_lib(int)" is a function at address 0x800036fc.
>
> On Thu, Sep 15, 2011 at 11:13 AM, Yao Qi <yao@codesourcery.com> wrote:
>> On 09/15/2011 12:21 AM, Liang Cheng wrote:
--
Yao (éå)