Fwd: some questions about kernel debugging

loody miloody@gmail.com
Sat Jul 10 10:54:00 GMT 2010


Dear gcc guys:
Is there another way to p/x variables of kernel except I re-compile
the it with the latest GCC?
appreciate your help,
miloody

---------- Forwarded message ----------
From: Jan Kratochvil
Date: 2010/7/9
Subject: Re: some questions about kernel debugging
To: loody


On Fri, 09 Jul 2010 13:52:31 +0200, loody wrote:
> I enable kernel hacking options about kernel debugging on my mips platform.
> I can successfully connect to the target board.
> My question is:
> 1. why I cannot p/x the value of variable?
>     I have enabled CONFIG_ARCH_WANT_FRAME_POINTERS and CONFIG_FRAME_POINTER
>     but I still get the message which tell me "value optimized out".
>     did I miss anything?
>     my kernel version is 2.6.30.9?

This is not a GDB problem, you should report it to GCC (you need a minimal
reproducer for the bugreport).

The problem is Linux kernel cannot (at least could not) compile with -O0, it
requires -O2 to successfully build.  -O2 was always mostly unsupported
together with -g (=debuggingo information).  For -O2 -g you should use the
latest GCC - SVN HEAD best - and definitely at least 4.5 (for VTA
- var-tracking-assignments).

Besides resolving this -O2 -g problem at GCC the easy way is always to just
`disassemble' the code in GDB, guess from the code+source in which
register/memory is the value probably located and access it directly there.


Regards,
Jan



More information about the Gcc-help mailing list