[Main] [Docs] [Installs] [Search] [Team] [Guestbook] [Links]

Системные мониторы / Отладчики

Существует множество различных программ для отладки. Их использование может оказать большую помощь в процессе разработки и отладки программ. Напрямую WHDLoad поддерживает такие как HRTmon и ThrillKill. Если вам требуется поддержка других отладчиков, свяжитесь со мной и я постараюсь добавить их поддержку. При старте WHDLoad проверяет, активен ли какой-то из поддерживаемых мониторов. Если хотя бы один из известных мониторов будет обнаружен, то WHDLoad производит специальные действия. Если WHDLoad использует MMU, то объявленная память используется монитором и кэшируется WriteThrough. В процессе работы игр/демо WHDLoad пересылает все NMI-исключения NMI-вектору, записывая их в таблицу векторов монитора. Дополнительно, если VBR перемещён с помощью WHDLoad (опция NoVBRMove/S не включена, и процессор не ниже 68010), то при каждом прерывании будет проверяться не нажата ли на клавиатуре клавиша FreezeKey. И если клавиша нажата, то WHDLoad обрабатывает нажатие, преобразует stackframe в NMI stackframe и входит в монитор через его обработчик NMI.

HRTmon

Обнаружение в памяти должно бы быть стабильно, особенно с новыми версиями монитора, т.к. в нем были добавлены новые сигнатуры. Будьте внимательны, если WHDLoad использует MMU: не делайте обращений из HRTmon к памяти за пределами BaseMem/ExpMem. Это вызовет ошибку, потому что HrtMon не сможет обработать Access Fault Exception.

В свойствах HRTmonPrefs, обязательно включите 'No VBR move', иначе не сможете войти в монитор, во время работы WHDLoad.

После возвращения из активированного HRTmon в запущенную под WHDLoad программу, изображение на дисплее может быть "битым", потому что HRTmon перезаписывает некоторые Custom-регистры. Вы можете этого избежать, если перед возвратом укажете HRTmon корректные значения, например, 'e $100 $5200' для 32-цветного режима экрана.

HRTmon, встроенный в WinUAE может быть определен только в том случае, если HRTmon был предварительно активирован хотя бы раз (нажатием клавиши PgUp). Потому как после первой активации будет выставлен вектор NMI, который требуется WHDLoad для нахождения монитора.

Существуют более новые версии HRTmon, которые будучи запущенными из WHDLoad, добавляют специальные команды. Таким образом, вы можете загружать/сохранять файлы и использовать функции resload_Protect#? из HRTmon. Эти версии можно скачать здесь WHDLoad page.

ThrillKill

В отладчике отсутствует какая-либо сигнатура, поэтому используются некие сравнения кодов. Поэтому процесс определения может не работать с другими версиями.


[Main] [Docs] [Installs] [Search] [Team] [Guestbook] [Links]