2009-04-17 84 views
0

如何查看由.net JITer生成的機器代碼的反彙編?顯示反彙編窗口菜單選項沒有找到的地方。即使它的工具欄按鈕也處於禁用狀態。如果我記得正確的反彙編確實可以看到,但必須訴諸一些伎倆,不幸的是,我不記得那個伎倆是什麼。有人可以在這裏提供一些指針嗎?我想你可以看到在WinDbg和一些調試器擴展(SOS.dll?)沒有太多痛苦的反彙編(嗯,現在我認爲相同的DLL也可以在VS2008中使用讓我檢查並獲得如果我錯了,請隨時糾正我)如何查看由.net JITer生成的機器代碼的反彙編?

回答

0

反彙編窗口在VS2008 Team System Developer Edition中的C#項目中工作正常。

其實 - 有一件事情不像我希望的那樣工作 - 我無法跨入框架代碼。也許有些地方可能會讓我這樣做,我不知道。但是我可以對自己的代碼進行反彙編,這很好。

您使用VS2008 Express嗎?也許這有一些限制。

總是有cordbg(yikes!)。

當然,在調試器下運行時,JITer將生成非優化的代碼。爲了避免這種情況,你可以跳過一些環節 - 比如在JIT完成其任何你想查看的工作後加入流程。

+0

喜邁克爾,我使用VS2008專業版(帶ReSharper的4.5一起)。 – 2009-04-17 08:32:15

0

似乎是爲我工作的罰款。您是否啓用了地址級調試? 工具|選項|調試|一般|啓用地址級調試?

要獲取反彙編窗口,請轉到Debug | Windows | Dissassembly(我使用的是C#開發人員配置)

或者,在命令窗口中,鍵入Debug.Dissassembly