У меня есть следующая проблема: Когда я подключу gdb к qemu для отладки, это не повредится на точках останова. Я могу установить точки останова, разрыв ctrl+c и т.д.
Какие-либо подсказки, как это может быть зафиксировано?
Я имею:
$ 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".
Это - сессия в качестве примера: (И да это - пегие лошади),
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
Continuing.
Remote connection closed
Любые идеи приветствуются.
Я обновил до версии:
$ qemu --version
QEMU PC emulator version 0.12.50, Copyright (c) 2003-2008 Fabrice Bellard
И теперь это хорошо работает для меня.
У меня есть подобные проблемы с ядром Linux 2.6.25.20, я пытался повредиться на start_kernel и панике, но это не работает, но если я выполняю его, и быстро ctrl-c gdb, затем я могу успешно повредиться в точке останова, это волшебно работало. Я не знаю, почему..., возможно, это - проблемы записи раздела. или возможно это - qemu проблема версии... без разницы. но это работает в настоящий момент...