Дизассемблер, отладчик и точки останова. |
На любом найденном адресе или адресе в таблице можно нажать правой клавишей мыши и в меню вызвать окно Дизассемблера.
Встроенный отладчик двух типов обрабатывает точки останова. Тип отладчика указывается а настройках.
В окне Дизассемблера можно через меню поставить точку останова, то есть исполнение игры будет остановлено на этом адресе.
Точка останова рисуется жёлтым цветом, а если исполнение остановлено, точка сработала, то красным. Если точка сработала, вы сможете слева увидеть регистры и флаги, их можно редактировать.
А снизу появится окно для ввода формулы, например, введем формулу EDI+8 и нажмём кнопку "=" и увидим результат сложения.
Для продолжения работы процесса после срабатывания точки останова нужно выбрать в меню команду "Запустить" или "Шагнуть" для пошагового исполнения.
В меню настройки можно включить модульную адресацию или изменить тип ассемблера (32 или 64 бита).
Команды в меню "Сохранить/Загрузить отладочную информацию" сохраняют/загружают ваши точки останова, имена и прочую отладочную информацию.
Команда "В Excel" позволяет открыть и сохранить таблицу Дизассемблера в Excel.
Вы можете задать имя любому адресу. Это имя также будет отображаться в командах ассемблера, если в настройках установлена "Использовать символы отладки". В меню Дизассемблера нажмём команду "Задать имя адресу". В меню Дизассемблера нажмём команду "Список точек останова". Откроется окно со списком всех точек. Их можно редактировать, удалять, включать и выключать. Для редактирования кликаем на нужную точку. Можно поменять тип точки, задать условия и действия. В условиях и действиях можно использовать все регистры, флаги, скобки, операторы AND, OR и специальное имя TID (идентификатор потока). Квадратные скобки означают читать/писать память. Например, [10000]=EAX означает прочитать память по адресу 10000 и сравнить с регистром EAX. Или [EDI]=1, означает прочить память по адресу из EDI и сравнить с единицей. Все адреса и числа шестнадцатеричные, как и в языке ассемблера. Тип определяется автоматически. Например, [EDI]=1 это тип 1 байт, [EDI]=0001 тип 2 байта, [EDI]=000001 тип 4 байта. |