Discussion:
Using GDB with Qemu : No Symbol Table?
Atoosah
2008-07-08 00:42:36 UTC
Permalink
Hi

Thank you for your help, but I think my question was misunderstood.

Debugging the kernel is not my goal. Instead, I want to debug qemu itself.
i.e. I want to be able to add watchpoints/breakpoints to qemu source code.
How do I compile Qemu to enable the symbol table?

My difficulty is that I need to be able to make install my_qemu (i.e. the
installed qemu version). Correct me if I'm wrong, but the -s -S options are
necessary if the goal is debugging the kernel. Is there a patch available,
such as the one provided in
http://www.h7.dion.ne.jp/~qemu-win/DebuggingTips-en.html/ (which seems to be
a rather old link)?

Thanks again.
$gdb vmlinux
(gdb) target remote localhost:1234
Remote debuggin using localhost:1234
0x0000fff0 in ?? ()
(gdb) break main
No symbol table is loaded. Use the "file" command.
(gdb) c
Continuing.
try to compile your kernel with CONFIG_DEBUG_INFO=y and
CONFIG_FRAME_POINTER=y. Both will enable gdb to easily resolve symbol
names into addresses and tracking down function call chain in stack
frame.

regards,

Mulyadi.
Daniel Jacobowitz
2008-07-08 14:34:46 UTC
Permalink
Post by Atoosah
Hi
Thank you for your help, but I think my question was misunderstood.
Debugging the kernel is not my goal. Instead, I want to debug qemu itself.
i.e. I want to be able to add watchpoints/breakpoints to qemu source code.
If you want to debug qemu, why are you loading gdb with vmlinux or
connecting to qemu's gdb server? You want to debug the qemu binary
itself.
--
Daniel Jacobowitz
CodeSourcery
Loading...