Инструмент для отладки гостевой ОС в виртуальной коробке - PullRequest
12 голосов
/ 12 января 2010

Я просто пересылаю тот же вопрос, что и на virtualbox.org. http://forums.virtualbox.org/viewtopic.php?f=9&t=26702&p=119139#p119139

Если не нарушать какое-либо правило, я бы хотел узнать об этом больше, поскольку stackoverflow обещает быть более динамичным!

"Привет, Я провел некоторый поиск и не смог найти никакого инструмента для отладки гостевой системы с ранней загрузки в виртуальной коробке. Хотя я сталкивался с JCP, эмулятором x86 в java, который не такой мощный и красивый, но имеет режим отладки, в котором можно просматривать физическую память, процессор регистрируется по другим причинам. Это также позволяет пошагово выполнять инструкции процессора и устанавливать точки останова, точки наблюдения и условные. В Virtual Box есть такая вещь?

Я думаю, было бы замечательно иметь его и иметь возможность проверять систему во время ее работы. Чтобы узнать об архитектуре ПК или как инструмент для разработки ядра.

Если вы думаете, что это хорошая идея (я думаю, что это так), как ее можно достичь? Я заинтересован в разработке такого рода вещей и хотел бы знать, возможно ли это, если он еще не реализован. "

EDT: способны ли современные x86 прервать выполнение сразу после цикла процессора и передать адреса выполнения другому коду, чтобы просто сделать это? Да, флаг прерывания может быть установлен для перевода процессора в пошаговый режим выполнения. x86 выполнит одну инструкцию и вызовет INT 3.

Ответы [ 2 ]

11 голосов
/ 19 ноября 2011

Вопреки сказанному выше, VirtualBox теперь содержит (ограниченный) отладчик. Добавьте --dbg в командную строку при запуске виртуальной машины. За дополнительной информацией обращайтесь:

12.1.3. Встроенный отладчик ВМ

7 голосов
/ 12 января 2010

OSDev wiki содержит некоторую полезную информацию об отладке гостевой операционной системы, хотя согласно этой странице VirtualBox в настоящее время не имеет отладчика. Я использовал QEmu с заглушкой GDB , и она работает довольно хорошо, так что вы могли бы вместо этого попробовать.

...