OSDev
http://osdev.su/

Как отладить загрузчик ОС через VirtualBox в Windows?
http://osdev.su/viewtopic.php?f=6&t=793
Страница 1 из 2

Автор:  mikesmmm [ 05 сен 2013, 10:28 ]
Заголовок сообщения:  Как отладить загрузчик ОС через VirtualBox в Windows?

Всем доброго времени суток! Надеюсь кто поможет с ответом на этот вопрос.
Перезаписал нулевой сектор гостевой ОС своим кодом. Что то работает, что то - нет. Нужен отладчик.

Пробовал настроить COM-порт гостевой системы для отладки через канал:

Номер порта: COM1 Прерывание: 4 Порт В/В: 0x3F8
Режим порта: хост-канал

Путь к порту/файлу: \\.\pipe\asd

Запустил GDB (используя MinGW), но дальше вопрос - как подключиться к этому каналу?

Например,
(gdb) target remote \\.\pipe\asd - не получается

WinDbg, кстати, работает с этим каналом.

Есть еще вариант использовать встроенный отладчик VirtualBox, но как с его помощью перейти к
участку оперативной памяти, расположенной по адресу 0x7c000 (куда грузится нулевой сектор ЖД) и
пошагово начать запускать инструкции?

Автор:  Yoda [ 05 сен 2013, 11:13 ]
Заголовок сообщения:  Re: Как отладить загрузчик ОС через VirtualBox в Windows?

Я под Bochs делал так. Написал комплект компактных примитивных функций печати, которые могут выводить текст посимвольно в порт E9. Всё, что туда печатается, выводится в консоль Бокса, если этот хак разрешён в конфиге. Бокс элементарно устанавливается и очень прост в использовании. Отличный инструмент для отладки начальной загрузки. Под Линуксом можно использовать совместно с gdb.

Автор:  phantom-84 [ 05 сен 2013, 12:03 ]
Заголовок сообщения:  Re: Как отладить загрузчик ОС через VirtualBox в Windows?

В боксе легко и пошагово отлаживать, но автору нужно в VirtualBox'е.

mikesmmm писал(а):
по адресу 0x7c000 (куда грузится нулевой сектор ЖД)
0x7c00

Автор:  scuter [ 05 сен 2013, 12:21 ]
Заголовок сообщения:  Re: Как отладить загрузчик ОС через VirtualBox в Windows?

чего то замудрил слишком,
на Vbox-е отладка через порты не ведётся.
лучше возьми qemu.

Автор:  maisvendoo [ 05 сен 2013, 14:45 ]
Заголовок сообщения:  Re: Как отладить загрузчик ОС через VirtualBox в Windows?

Как вариант - VMware + eclipse cdt + gdb. И среда разработки, и все прелести отладки в одном флаконе

Автор:  phantom-84 [ 05 сен 2013, 14:57 ]
Заголовок сообщения:  Re: Как отладить загрузчик ОС через VirtualBox в Windows?

VirtualBox хоть кто-нибудь использует? :D

Автор:  Yoda [ 05 сен 2013, 15:01 ]
Заголовок сообщения:  Re: Как отладить загрузчик ОС через VirtualBox в Windows?

VirtualBox хорош для реальной работы готовых к экспулатации ОС. Для отладки он не очень удобен. А так, да, я его использую для работы с Линуксом.

Автор:  maisvendoo [ 05 сен 2013, 15:01 ]
Заголовок сообщения:  Re: Как отладить загрузчик ОС через VirtualBox в Windows?

По-моему VBox нет отладки через сетевой интерфейс, а только через ком-порт через одно место.
Вот сеанс отладки загрузчика на связке gdb + VMware. На скрине видны все стартовые команды, включая выбор интел синтаксиса, для тех кто к нему привязан
Изображение
в эклипсе не получается что-то, наверное из-за того что у меня GRUB2 и я его не отлаживаю - в проекте нет исходников и символьной информации

Одна проблема - варя чувствительна к обновлениям ядра линукса - с ужасом жду выхода 3.11 (у меня арч). Когда вышло десятое, модули варьки пришлось патчить, а я только открыл её возможности по отладке. Bochs и QEMU отказываются вставать на бряки у меня в 64-битном линухе, на 32-битном 9-м редхэте такого не было...

Автор:  pavia [ 05 сен 2013, 15:49 ]
Заголовок сообщения:  Re: Как отладить загрузчик ОС через VirtualBox в Windows?

Лично я отлаживал свой первый загрузчик в VMWare без всяких отладчиков. Тогда их просо не умели прикручивать, а BOCHS. не существовало. Долгое это было занятие опыта не хватало. Зато последний отлаживал в TD стоящим в VirtualBox и длилась это гораздо быстрее. И шлифовка в dbgBOCHS.

Долго сидел на VMWare пока не перешёл на VirtualBox. Заставило слезть то что на 32-битном хозяине не работали 64-битные гости.

Автор:  maisvendoo [ 05 сен 2013, 18:09 ]
Заголовок сообщения:  Re: Как отладить загрузчик ОС через VirtualBox в Windows?

Bochs хорошая штука, я с него начинал. К тому же у него опять таки есть gdb stub на порту 1234 что позволяет отлаживать с момощью gdb, который по возможностям мощнее встроенного дебагера.
Хотя QEMU мне больше нравится возможностью врубать ускорение через KVM, и он тоже имеет интерфейс к gdb, но вот ни "борщ" ни куэму не хотят работать у меня с отладкой, хоть тресни. Уж и пересобирал с ключами и что только не мудрил. Не хотят. А я бы перешл на них, из-за зависимости варьки от системных перепетий

P.S.: Так - QEMU завел в отладке - надо было убрать ключ -enable-kvm, то есть выключить аппаратное ускорение. Вот оно как
Изображение

И работает совместно с эклипс!!!
Изображение
Я счастлив :)

По сабжу - ну вот, можно попробовать и QEMU. Он есть и под винду, правда не официальные сборки вот тут

Страница 1 из 2 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/