Каков наилучший (самый быстрый) способ просмотра кода, сгенерированного компилятором из моих файлов? Я использую в основном С++, но решение, которое работает для языков .NET, также очень приветствуется.
Как просмотреть скомпилированный машинный код или байтовый код для функции С++ в Visual Studio 2010?
Ответ 1
В Visual Studio перейдите на страницы свойств для своего проекта, затем перейдите к C/C++ → Output Files → Assembler Output
. Он должен выглядеть примерно так:
Обратите внимание на соответствующие переключатели компилятора, все варианты /FA
.
-
/FA
: Листинг с листингом -
/FAcs
: сборка, машинный код и источник -
/FAc
: Сборка с машинным кодом -
/FAs
: Сборка с исходным кодом
Под опцией "Ассемблерный выход" есть опция "Расположение списка ASM". Это эквивалентно переключателю /FA
(заглавная буква!), И он устанавливает путь к файлу вывода.
Вы также можете посмотреть сборку во время отладки (в точке останова), в комплекте с соответствующим исходным кодом, щелкнув правой кнопкой мыши текущую строку в текстовой области исходного файла и нажав "Перейти к разборке".
Он перейдет к сборке в строке, на которую вы щелкнули правой кнопкой мыши на отдельной вкладке. Список будет напоминать следующее:
Да, я знаю, скриншоты взяты не из Visual Studio 2010, но шаги и общий вид одинаковы. У меня просто нет прямого доступа к VS2010 для создания скриншотов.: -)суб >
Ответ 2
Для проекта С++ скомпилируйте /FA
, чтобы получить список сборок.
Для сборщиков .NET, ildasm
.
Ответ 3
Для .NET вы можете использовать инструмент ildasm
, который поставляется с фреймворком для просмотра ИЛ.