Отладка приложений


         

Код мусора


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

  •  оказалось, что для просмотра кодов инструкций ассемблера полезно включение режима Code Bytes (в контекстном меню окна Disassembly);
  •  если в окне Disassembly отображается ряд идентичных инструкций ADD BYTE PTR [EAX], AL, это не есть правильный код ассемблера. Вы видите ряд нулей;
  •  если отображаются символы, но добавленные к ним смещения — очень большие числа, в общем случае превосходящие 0x1000, то вы, вероятно, вне секции кода. Однако очень большие числа могут также означать, что отлаживается модуль, который не содержит доступных частных (private) символов;
  •  если вы видите группу инструкций, которые не описаны в этой главе, значит вы, вероятно, видите данные;
  •  если дизассемблер Visual C++ не может дизассемблировать инструкцию, то в качестве кода операции он показывает "???".



Содержание  Назад  Вперед