Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В окне дизассемблирования показан код сборки, соответствующий инструкциям, созданным компилятором. Если вы выполняете отладку управляемого кода, эти инструкции сборки соответствуют машинному коду, созданному компилятором JIT, а не промежуточным языком Майкрософт (MSIL), созданным компилятором Visual Studio.
Замечание
Чтобы воспользоваться полным преимуществом окна Дизассембли , понять или узнать основы программирования на языке сборки. Справочные материалы для наборов инструкций Intel находятся в 2-м томе руководства по архитектуре. Этот материал обычно относится к наборам инструкций AMD, а также.
Эта функция доступна только в том случае, если включена отладка на уровне адресов. Он недоступен для отладки скрипта или SQL.
Помимо инструкций по сборке окно дизассембли может отображать следующие необязательные сведения:
Адрес памяти, в котором расположена каждая инструкция. Для собственных приложений это фактический адрес памяти. Для Visual Basic или C# это смещение относительно начала функции.
Исходный код, из которого наследуется код сборки.
Код байтов, то есть байтовые представления фактического компьютера или инструкций MSIL.
Имена символов для адресов памяти.
Номера строк, соответствующие исходному коду.
Инструкции на языке сборки состоят из mnemonics, которые являются сокращенными именами инструкций и символами переменных, регистров и констант. Каждая инструкция на языке компьютера представлена одним mnemonic языка сборки, а затем одним или несколькими символами.
Код сборки сильно зависит от регистров процессора или для управляемого кода, регистров среды CLR. Вы можете использовать окно дизассембли вместе с окном "Регистры ", что позволяет изучить содержимое регистра.
Чтобы просмотреть инструкции машинного кода в необработанной числовой форме, а не в качестве языка сборки, используйте окно памяти или выберите "Код байтов" в контекстном меню в окне "Дизассембли".
Используйте окно дизассемблирования
Чтобы включить окно "Дизассемблер", в разделе Инструменты, >Параметры>Отладки выберите "Включить отладку на уровне адресов".
Чтобы открыть окно дизассемблирования во время отладки, выберите отладку>Windows>Disassembly или нажмите клавиши CTRL + ALT + D.
Замечание
Отображаемые диалоговые окна и команды меню могут отличаться от описанных в этой статье в зависимости от активных параметров или редакции. Чтобы изменить параметры, выберите "Импорт и экспорт параметров" в меню "Инструменты". Дополнительные сведения см. в разделе Сброс всех параметров.
Чтобы включить или отключить дополнительные сведения, щелкните правой кнопкой мыши в окне "Дизассембли" и задайте или снимите нужные параметры в контекстном меню.
Желтая стрелка в левом поле обозначает текущую точку выполнения. Для исполняемого кода точка исполнения соответствует программному счётчику ЦП. В этом расположении показана следующая инструкция, которая будет выполнена в программе.
Прокрутка вверх или вниз в памяти
При просмотре содержимого памяти в окне памяти или окне дизассембли можно использовать вертикальную полосу прокрутки для перемещения вверх или вниз в пространстве памяти.
Чтобы перейти к более высокому адресу памяти, щелкните вертикальную полосу прокрутки под полем прокрутки.
Чтобы перейти к нижнему адресу памяти, щелкните вертикальную полосу прокрутки над пальцем.
Вы также заметите, что вертикальная полоса прокрутки работает нестандартно. Адресное пространство современного компьютера очень велико, и было бы легко потеряться, захватив палец полосы прокрутки и перетащив его в случайное расположение. По этой причине палец имеет пружинный механизм и всегда остается в центре полосы прокрутки. В нативных приложениях можно перелистывать страницы вверх или вниз, но нельзя свободно прокручивать.
В управляемых приложениях дизассемблирование ограничено одной функцией, и возможна обычная прокрутка.
Вы заметите, что более высокие адреса отображаются в нижней части окна. Чтобы просмотреть более высокий адрес, необходимо переместиться вниз, а не вверх.
Перемещение вверх или вниз одной инструкции
- Щелкните стрелку в верхней или нижней части вертикальной полосы прокрутки.