Отладка кода загрузчика

Тема в разделе "WASM.OS.DEVEL", создана пользователем Jin X, 1 июл 2018.

  1. Jin X

    Jin X Active Member

    Публикаций:
    0
    Регистрация:
    15 янв 2009
    Сообщения:
    369
    Адрес:
    Кольца Сатурна
    Привет всем!
    Подскажите, плиз, чем можно отладить код MBS (загрузчика в MBR-секторе)?
    Чтобы именно по шагам пройтись, как в нормальном отладчике.
     
  2. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    4.775
    Тоесть виндебаг уже не вариант, нужен для школоты отладчик с гуем, типо олли что бы ядро им ковырять лол.
     
  3. Jin X

    Jin X Active Member

    Публикаций:
    0
    Регистрация:
    15 янв 2009
    Сообщения:
    369
    Адрес:
    Кольца Сатурна
    Indy_, чем выпендривайся лучше бы нормально объяснил :drag:
     
  4. Pavia

    Pavia Well-Known Member

    Публикаций:
    0
    Регистрация:
    17 июн 2003
    Сообщения:
    2.409
    Адрес:
    Fryazino
    Вариантов куча.
    1) К примеру использовать эмулятор Bochs. Скачиваем версию с отладчиком (WithDebug).
    Запускаем bochsdbg.exe
    s - шаг внутрь
    n - шаг через
    c - выполняем до остановки
    b - задание точка остановки
    ---------
    Примечание, bochs пихает данные C:\Program Files (x86)\Bochs-2.6.8\dlxlinux
    А это неправильно с точки зрения Windows 7 и более старших. Так что лучше создать для образа отдельную папку и bat файл для запуска.
    2) Используем отладчик gdb. Отладчик gdb можно использовать с разными виртуальными машинами к примеру qemu, VBox, VMWare.
    Пример как это делать отладку через qemu
    http://ru.osdev.wikia.com/wiki/Gdb
    si - шаг внутрь
    ni - шаг через
    c - выполняем до остановки
    br - задание точку остановки используя отладочные регистры
    Простая точка у меня почему-то не сработала.
    -------------------
    gdb больше для ядра подходит. Подключение отладочной информации это отдельная тема. Написать скрипт сборки *.ld собрать elf файл вырезать отладочную информацию.
    Графические оболочки над gdb заточены на работу с отладочной иформацией.
    3) Использовать TD, так как mbr по воей сути не отличается от обычного *.com файла кроме смещения. То делаем *.com файл и отлаживаем турбодебугере.
    Для этого придётся использовать виртуалку с установденным ДОСом и установленным турбодебугером. DosBox - не годится.
    4) Взять отладчик для БИОСа.
     
    Jin X и _edge нравится это.
  5. _edge

    _edge Well-Known Member

    Публикаций:
    1
    Регистрация:
    29 окт 2004
    Сообщения:
    631
    Адрес:
    Russia
    Jin X и Pavia нравится это.