Блог

NOP-инструкции и отладка.


При отладке приложений часто бывает необходимо внести исправления в исходный код программы. Для того, чтобы эти исправления вступили в силу, обычно надо пересобрать приложение и заново запустить отладку. Однако, в Microsoft Visual Studio есть функция edit-and-continue (редактируй-и-продолжай), которая позволяет исправлять исходный код и применять эти исправления без перезапуска приложения. Когда-нибудь задумывались, как она работает?
Весь секрет в NOP-инструкциях, которые компилятор вставляет в определенные места исполняемого кода. Их-то как раз и можно заменить на вызов новых операторов.
Кроме того, NOP-инструкции позволяют ставить точки останова в те места исходного текста, для которых иначе не существовало бы соответствующего исполняемого кода. Например, на начало блока(открывающая фигурная скобка в C++ и C#). Или на оператор, который бы иcчез в результате оптимизации.

Кстати: Генерация NOP-инструкций может иметь смысл и при компиляции release-версии приложения. Например, при выравнивании блока кода для улучшения кэширования.

Ярлыки: , ,


Комментарии: 0:

Отправить комментарий

Подпишитесь на каналы Комментарии к сообщению [Atom]

<< Главная страница

Optixsoft - Разработка ПО для волоконной оптики. 2013. Все права сохранены.