2013-03-21 4 views
2

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

ответ

1

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

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

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

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