Практическое руководство. Использование окна дизассемблирования
Обновлен: Ноябрь 2007
Этот раздел применим к:
Выпуск |
Visual Basic |
-c конец_команды |
-c конец_команды |
Веб-разработчик |
---|---|---|---|---|
Express |
||||
Standard |
||||
Pro и Team |
Условные обозначения:
Применяется |
|
Не применим |
|
Команда или команды, скрытые по умолчанию. |
Эта функция доступна, только если в диалоговом окне Параметры в узле Отладка включена отладка на уровне адреса. Она недоступна для отладки сценариев и SQL.
В окне Дизассемблированный код отображается код сборки, соответствующий инструкциям, созданным компилятором. При отладке управляемого кода эти инструкции ассемблера соответствуют присущему данному объекту коду, созданному компилятором JIT, а не промежуточному языку (MSIL), созданному компилятором Visual Studio.
В дополнение к инструкциям ассемблера в окне Дизассемблированный код могут отображаться следующие сведения:
Адреса в памяти, где располагается каждая из инструкций. Для приложений это фактические адреса в памяти. Для кода, написанного на Visual Basic, C#, и для управляемого кода это смещение относительно начала функции.
Исходный код, из которого получается код сборки.
Байты кода - байтовое представление реальных инструкций компьютера или языка MSIL.
Символьные имена для адресов памяти.
Номера строк, соответствующие исходному коду.
Инструкции на языке ассемблера состоят из мнемоник, представляющих собой сокращения имен инструкций и символы, обозначающие переменные, регистры и константы. Каждая инструкция машинного кода представляется одной мнемоникой ассемблера, за которой, как правило, следует одна или несколько переменных, регистров или констант.
Чтобы в полном объеме использовать преимущества работы с окном Дизассемблированный код, изучите хорошую книгу по программированию на языке ассемблера. Подробное обсуждение вопросов, связанных с программированием на языке Ассемблер, не входит в задачи данного раздела.
Поскольку код ассемблера в большой степени основывается на использовании регистров процессора или, в случае управляемого кода, регистров общеязыковой среды выполнения, часто вместе с окном Дизассемблированный код следует использовать окно Регистры, позволяющее проверять содержимое регистров.
Возможно, у вас не возникнет желания или необходимости просматривать инструкции машинного кода, представленные в числовой форме, вместо кода ассемблера. Однако при желании можно для этой цели использовать окно Память или выбрать Байты кода из контекстного меню окна Дизассемблированный код"
Примечание. |
---|
Отображаемые диалоговые окна и команды меню могут отличаться от описанных в справке в зависимости от текущих параметров или выпуска среды. Для изменения параметров выберите команду Параметры импорта и экспорта в меню Сервис. Дополнительные сведения содержатся в разделе Параметры Visual Studio. |
Чтобы отобразить окно Дизассемблированный код
В меню Отладка выберите Окна и нажмите кнопку Дизассемблированный код.
Отладчик должен быть запущен либо находиться в режиме приостановки выполнения.
Чтобы включить или отключить дополнительные сведения
Щелкните правой кнопкой в окне Дизассемблированный код и установите или снимите в контекстном меню соответствующие флажки.
Желтая стрелка, расположенная в левом поле, отмечает размещение текущей точки выполнения. Для присущего данному объекту кода это соответствует счетчику команд ЦП. В этом расположении отображается следующая инструкция, которая будет выполнена в программе.
Дополнительные сведения содержатся в разделе Разбивка памяти на страницы.
См. также
Задачи
Практическое руководство. Использование окна регистров