Как я вижу разбор машинного кода, сгенерированного .net JITer? - PullRequest
0 голосов
/ 17 апреля 2009

Как мне увидеть разбор машинного кода, сгенерированного .net JITer? Пункт меню Показать окно разборки не где найти. Даже кнопка панели инструментов для нее находится в отключенном состоянии. Если я правильно помню, разборка действительно видна, но нужно прибегнуть к какой-то хитрости, к сожалению, я не помню, что это был за хитрость. Может кто-нибудь, пожалуйста, укажите здесь несколько указателей?

Среда отладки: VS2008. Вам. Пожалуйста, не стесняйтесь поправлять меня, если я ошибаюсь.)

Ответы [ 3 ]

0 голосов
/ 17 апреля 2009

Привет, к сожалению, команда show debug window все еще не работает, но вы можете обойтись с помощью dll расширения отладчика SOS.dll для отладки / дизассемблирования кода .net, вот несколько ссылок (обратите внимание, что это работает с VS2008 и WinDbg). ..

1) MSDN: расширение отладки SOS (SOS.dll)
2) Некоторые общие советы по использованию SOS с Windbg

0 голосов
/ 21 апреля 2009

Кажется, работает нормально для меня. У вас включена отладка на уровне адресов? Инструменты | Варианты | Отладка | Генерал | Включить отладку на уровне адресов?

Чтобы открыть окно разборки, перейдите в Debug | Windows | Разборка (я использую профиль разработчика c #)

Или в окне командной строки введите Debug.Dissassembly

0 голосов
/ 17 апреля 2009

Окно дизассемблирования у меня работает нормально в проекте C # в VS2008 Team System Developer Edition.

На самом деле - есть одна вещь, которая не работает, как я бы надеялся, - я не могу войти в код Framework. Может быть, где-то есть обстановка, которая может позволить мне сделать это, я не знаю. Но я могу отлично разобрать мой собственный код.

Вы используете VS2008 Express? Может быть, это имеет какое-то ограничение.

Всегда есть шнур (да!).

Конечно, JITer будет генерировать неоптимизированный код при запуске под отладчиком. Могут быть некоторые обручи, которые вы можете перепрыгнуть, чтобы избежать этого - например, присоединение к процессу после того, как JIT выполнит свою работу для всего, что вы хотите посмотреть.

...