2014-12-19 3 views
1

Я использую qemu для эмуляции машины Sparc V8 и использования этого в качестве удаленной цели для gdb для отладки измененной программы загрузчика. В программе есть ошибка, которая заставляет ее работать в бесконечном цикле.Как прервать бесконечный цикл, запущенный в qemu + gdb?

Мой план состоит в том, чтобы прерывать qemu несколько раз, чтобы увидеть, какая область кода вызывает выполнение в бесконечном цикле. Как прервать qemu, нажав клавишу, чтобы проверить состояние процессора?

После прерывания, я знаю, как просматривать регистры и т. Д., Используя gdb, но я не знаю, как прервать qemu в первую очередь. Я не смог найти эту информацию после поиска в Интернете. Спасибо за любые подсказки.

+1

Я никогда не делал этого, но AFAIK, если вы подключаетесь GDB для QEMU-s встроенных в БГДЕ «заглушки», а затем подвешиваний GDB (нажав CTRL + C в GDB) должен остановить QEMU и позволить вам изучить состояние. – dbrank0

+1

Вы попробовали control-C? Я использую его все время для других эмулированных процессоров (ARM, PowerPC и т. Д.), –

ответ

1

Ctrl + C работает, как упоминалось в других источниках, так же, как и при обычных процессах с пользовательскими правами.

Испытан с минимальной настройкой объяснить этот ответ: How to debug the Linux kernel with GDB and QEMU?

Смежные вопросы