GDB does not stop at assembly code address

Yao Qi qiyaoltc@gmail.com
Tue Oct 18 19:19:00 GMT 2016


On Tue, Oct 18, 2016 at 12:53 PM,  <deffo@gmx.de> wrote:
> Here's the output:
>
> (gdb) b startup_32
> Breakpoint 1 at 0xc1000000: file arch/x86/kernel/head_32.S, line 97.
> (gdb) print startup_32
> $1 = {<text variable, no debug info>} 0xc1000000 <startup_32>
> (gdb) info breakpoints
> Num     Type           Disp Enb Address    What
> 1       breakpoint     keep y   0xc1000000 arch/x86/kernel/head_32.S:97
>
> (gdb) b start_kernel
> Breakpoint 1 at 0xc1be3755: file init/main.c, line 480.
> (gdb) print start_kernel
> $1 = {void (void)} 0xc1be3755 <start_kernel>
> (gdb) info breakpoints
> Num     Type           Disp Enb Address    What
> 1       breakpoint     keep y   0xc1be3755 in start_kernel at init/main.c:480
>

Looks breakpoint is set on the right place.  Nothing wrong there.

> I guess the "no debug info" would be the explanation, but why is that? The address is listed as a FUNC in readelf -Ws vmlinux, thus it should be correct. What do I have to do?
>

"no debug info" is about startup_32, which is written in assembly without debug
information.  It is nothing wrong there.  I have no idea why breakpoint on
startup_32 is not hit.

-- 
Yao (齐尧)



More information about the Gdb mailing list