Поделиться через


Практическое руководство. Использование окна дизассемблирования

Обновлен: Ноябрь 2007

Этот раздел применим к:

Выпуск

Visual Basic

-c конец_команды

-c конец_команды

Веб-разработчик

Express

Тема не применяется Тема не применяется Тема применяется Тема не применяется

Standard

Тема применяется, но команда по умолчанию сокрыта Тема применяется Тема применяется Тема применяется

Pro и Team

Тема применяется, но команда по умолчанию сокрыта Тема применяется Тема применяется Тема применяется

Условные обозначения:

Тема применяется

Применяется

Тема не применяется

Не применим

Тема применяется, но команда по умолчанию сокрыта

Команда или команды, скрытые по умолчанию.

Эта функция доступна, только если в диалоговом окне Параметры в узле Отладка включена отладка на уровне адреса. Она недоступна для отладки сценариев и SQL.

В окне Дизассемблированный код отображается код сборки, соответствующий инструкциям, созданным компилятором. При отладке управляемого кода эти инструкции ассемблера соответствуют присущему данному объекту коду, созданному компилятором JIT, а не промежуточному языку (MSIL), созданному компилятором Visual Studio.

В дополнение к инструкциям ассемблера в окне Дизассемблированный код могут отображаться следующие сведения:

  • Адреса в памяти, где располагается каждая из инструкций. Для приложений это фактические адреса в памяти. Для кода, написанного на Visual Basic, C#, и для управляемого кода это смещение относительно начала функции.

  • Исходный код, из которого получается код сборки.

  • Байты кода - байтовое представление реальных инструкций компьютера или языка MSIL.

  • Символьные имена для адресов памяти.

  • Номера строк, соответствующие исходному коду.

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

Чтобы в полном объеме использовать преимущества работы с окном Дизассемблированный код, изучите хорошую книгу по программированию на языке ассемблера. Подробное обсуждение вопросов, связанных с программированием на языке Ассемблер, не входит в задачи данного раздела.

Поскольку код ассемблера в большой степени основывается на использовании регистров процессора или, в случае управляемого кода, регистров общеязыковой среды выполнения, часто вместе с окном Дизассемблированный код следует использовать окно Регистры, позволяющее проверять содержимое регистров.

Возможно, у вас не возникнет желания или необходимости просматривать инструкции машинного кода, представленные в числовой форме, вместо кода ассемблера. Однако при желании можно для этой цели использовать окно Память или выбрать Байты кода из контекстного меню окна Дизассемблированный код"

a3cwf295.alert_note(ru-ru,VS.90).gifПримечание.

Отображаемые диалоговые окна и команды меню могут отличаться от описанных в справке в зависимости от текущих параметров или выпуска среды. Для изменения параметров выберите команду Параметры импорта и экспорта в меню Сервис. Дополнительные сведения содержатся в разделе Параметры Visual Studio.

Чтобы отобразить окно Дизассемблированный код

  • В меню Отладка выберите Окна и нажмите кнопку Дизассемблированный код.

    Отладчик должен быть запущен либо находиться в режиме приостановки выполнения.

Чтобы включить или отключить дополнительные сведения

  • Щелкните правой кнопкой в окне Дизассемблированный код и установите или снимите в контекстном меню соответствующие флажки.

    Желтая стрелка, расположенная в левом поле, отмечает размещение текущей точки выполнения. Для присущего данному объекту кода это соответствует счетчику команд ЦП. В этом расположении отображается следующая инструкция, которая будет выполнена в программе.

    Дополнительные сведения содержатся в разделе Разбивка памяти на страницы.

См. также

Задачи

Практическое руководство. Использование окна регистров

Основные понятия

Просмотр данных в отладчике