Поделиться через


Инструкции по сборке и дизассемблингу

Обработчик отладчика поддерживает использование языка сборки для отображения и изменения кода в целевом объекте. Общие сведения об использовании языка сборок в отладчике см. в разделе "Отладка в режиме сборки".

Заметка Язык сборки не поддерживается для всех архитектур. И на некоторых архитектурах не все инструкции поддерживаются.

Чтобы собрать одну инструкцию на языке сборки и поместить полученную инструкцию процессора в память целевого объекта, используйте Assemblye.

Чтобы дизассемблировать одну инструкцию, выполнив инструкцию процессора из целевого объекта и создав строку, представляющую инструкцию сборки, используйте Disassemble.

Метод GetDisassembleEffectiveOffset возвращает первый эффективный адрес последней инструкции, которая была разобрана. Например, если последняя инструкция для дизассемблирования — move ax, [ebp+4], то эффективный адрес — это значение ebp+4. Это соответствует $ea псевдорегистру.

Чтобы отправить разобранные инструкции в обратные вызовы выходных данных, используйте методы OutputDisassembly и OutputDisassemblyLines.

Подсистема отладчика имеет некоторые параметры, управляющие сборкой и дизассемблией. Опции возвращаются функцией GetAssemblyOptions. Их можно задать с помощью SetAssemblyOptions , а некоторые параметры можно включить с помощью AddAssemblyOptions или отключить с помощью RemoveAssemblyOptions.