Отредактируйте код на ассемблере в Visual Studio, одновременно просматривая каждый оператор

Можно ли в Visual Studio редактировать код на ассемблере, одновременно просматривая каждый оператор (чтобы операторы в программе можно было изменять во время работы программы?) Было бы полезно изменить операторы в программе во время работы программы (в целях отладки), но я не уверен, возможно ли это еще.

1 ответ

Решение

Вы можете изменить исходный код, но он не будет повторно собран для создания нового двоичного файла во время сеанса отладки. Отладчик скажет вам "источник больше не соответствует коду", но вы все равно можете сделать шаг. Ваше отображение может сбивать с толку, потому что, ну, в общем, исходный код больше не соответствует объектному коду:-} Я часто добавляю комментарии к инструкциям или в пустые строки, что вызывает у меня жалобу, но вы все равно можете сделать один шаг и увидеть правильный источник линии в этом особом случае.

Я думаю, что вы можете вручную изменить память, содержащую инструкцию, которую вы хотите исправить. Я никогда не удосужился сделать это; проще установить точку останова, где я нахожусь, собрать и запустить до точки останова.

Вы можете довольно легко изменить все регистры и память данных (я думаю, на самом деле вы должны использовать это для изменения памяти кода!).

Действительно полезная вещь - это "Set Next Statement", чтобы вернуть ПК в более раннее место в коде; затем вы часто можете перейти к точке отказа, если регистры и память не изменились. (поместите курсор в исходное окно или окно разборки, нажмите на строку, затем щелкните правой кнопкой мыши "Set Next Statement")

Другие вопросы по тегам