Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have the following problem: When I connect gdb to qemu for debugging, it won't break on breakpoints. I can set breakpoints, break with ctrl+c etc.

Any clues how this can be fixed?

I have:

$ qemu --version
QEMU PC emulator version 0.11.0 (qemu-kvm-0.11.0), Copyright (c) 2003-2008 Fabrice Bellard
$ gdb --version
GNU gdb (GDB) 7.0-ubuntu. This GDB was configured as "x86_64-linux-gnu".

This is an example session: (And yes this is pintos)

gdb -x src/misc/gdb-macros kernel.o
GNU gdb (GDB) 7.0-ubuntu
Copyright (snip...)
License (snip...)
This GDB was configured as "x86_64-linux-gnu".
Reading symbols from ../../threads/build/kernel.o...done.
(gdb) debugpintos
0x0000fff0 in ?? ()
(gdb) break main
Breakpoint 1 at 0xc01000b6: file ../../threads/init.c, line 68.
(gdb) info break
Num     Type           Disp Enb Address    What
1       breakpoint     keep y   0xc01000b6 in main at ../../threads/init.c:68
(gdb) cont
Remote connection closed

Any ideas are welcome.

share|improve this question

I have similar problems with linux kernel, I tried to break on start_kernel and panic, but it does not work, but if I run it, and quickly ctrl-c gdb, then I can successfully break at the breakpoint, it magically worked. I don't know why... maybe it's section entry problems. or maybe it's qemu version problem... whatever. but it works for the moment...

share|improve this answer
up vote 1 down vote accepted

I have upgraded to version:

$ qemu --version
QEMU PC emulator version 0.12.50, Copyright (c) 2003-2008 Fabrice Bellard

And now it works fine for me.

share|improve this answer

You must log in to answer this question.