Как увидеть JIT-скомпилированный код в .NET VM (CLR) - PullRequest
26 голосов
/ 09 марта 2010

Как получить трассировку собственного кода, сгенерированного JIT-компилятором?

Спасибо

Ответы [ 3 ]

18 голосов
/ 09 марта 2010

В Visual Studio поместите точку останова в код и начните отладку. Когда он сломается, откройте окно Разборка (Отладка> Windows> Разборка или Alt + Ctrl + D).

14 голосов
/ 13 января 2011

Если вы просто используете Debug-> Windows-> Disassembly на стандартном Debug или Release exe без изменения параметров отладки Visual Studio, вы просто увидите версию неоптимизированного .NET кода.

Взгляните на эту статью " Как увидеть код сборки, сгенерированный JIT с использованием Visual Studio ". Он объясняет, как проверять сгенерированный JIT-оптимизированный код.

Одна релевантная цитата из статьи:

  1. Настройте параметры отладки в Visual Studio, чтобы JIT мог генерировать оптимизированный код и чтобы вы могли отлаживать оптимизированный код.

Перейдите в Инструменты => Параметры => Отладка => Общие · Убедитесь, что это поле с надписью «Подавить оптимизацию JIT при загрузке модуля» Неконтролируемый.

· Убедитесь, что поле с надписью «Включить только мой код» Неконтролируемый.

4 голосов
/ 09 марта 2010

Вам следует искать файлы, выводимые из инструмента NGen . NGen компилирует и сохраняет предварительно собранные версии сборок в глобальном кэше сборок.

...