Звучит так, как будто вам нужна команда dumpbin
.Обратите внимание, что для этого необходимо, чтобы инструменты VC были в вашей переменной PATH;Вы можете использовать соответствующий ярлык в меню «Пуск» или запустить %VSxxCOMNTOOLS%\vsvars32.bat
, где xx
- мнемоника для фактической версии VC, которую вы используете: самый простой способ выяснить, какую именно переменную среды использовать, вероятно, нужно запуститьset
и посмотрите, какие переменные с такими именами фактически установлены в вашей среде.Например, в системе с установленными MSVC 2005 Express и MSVC 2008 Express я получаю следующее:
C:\code\xemacs-beta\nt>set | grep "VS.*COMNTOOLS"
VS80COMNTOOLS=C:\Program Files\Microsoft Visual Studio 8\Common7\Tools\
VS90COMNTOOLS=C:\Program Files\Microsoft Visual Studio 9.0\Common7\Tools\
Итак, чтобы создать новое окно оболочки с инструментами VC 9 (2008), добавленными к пути,Я могу запустить start "VC 9" "%VS90COMNTOOLS%\vsvars32.bat"
.(Аргумент "VC 9"
является заголовком для нового окна.)
В любом случае, с помощью инструментов VC в PATH мы можем запускать такие команды как dumpbin /disasm ..\src\temacs.exe > temacs.disasm
(за исключением того, что вы, вероятно, не в nt
подкаталог дерева xemacs, поэтому придерживайтесь любого желаемого пути).Это приведет к дизассемблированию данного файла с использованием любой подходящей PDB, которую он может найти для имен символов.
Документацию о вызовах MS можно найти в записи MSDN dumpbin (на самом деле, это намного лучшечем я запомнил это - возможно, мне было больно за то, что я был настолько неинформативен в отношении флага /disasm
, в частности), но не стоит недооценивать полезность dumpbin /?
- он может дать не так много информации, нопо крайней мере, вы можете видеть все это на экране одновременно.