2010-04-12 75 views
7

我有一個.NET可執行文件,我需要調試。我想進入它,以便它停止在第一條指令,並有單步,斷點等的可視化界面。如何在MSIL級別調試.NET可執行文件?

這似乎應該是更容易,但我還沒有找到解決方案!我在網上閱讀了關於DbgCLR.exe的文章,但我無法在我的系統或在線上找到我的生活中的文件。我也讀過DbgCLR.exe不再需要,因爲Visual Studio可以做同樣的事情。 Visual Studio .NET解決方案也很棒! (也許有,我忽略了一個菜單項?)

要麼將​​滿足,所以只要我能檢查堆棧,設置斷點等

+0

好問題。我多年前使用NTSD來調試JIT-ed MSIL代碼。這是一個真正的快樂......查看http://www.microsoft.com/whdc/devtools/debugging/並讓我知道現在是否有更高級的可用內容。 – 2010-04-12 19:19:10

+0

如果您有符號和來源,則可以使用VS附加到進程並指定您希望在附加對話框中進行託管調試。 – 2010-04-13 00:27:52

回答

1

如果你是一個購買實用程序 - 紅門的新的.NET反射器臨這種情況確實很好(195美元)。我認爲你可以得到一個持續一段時間的評估版本Red Gate's site

我在過去使用DILE在IL中完成這項工作,由於某些原因,我與Deblector有着混合的經驗。

可能不值得你的時間,但你也可以創建一個EXE的pdb符號,但如果程序集有很多引用它變得複雜。幾年前我在一起發表了一篇關於如何做的博文:Disassembling .NET - Appendix A

0

您可以將可執行文件轉換爲csharp(vb.net)。
有一個很好的免費工具,.Ned Reflector。

1

可以使用WinDbg,因爲它在啓動過程時會自動停止。但是,除非您使用SOS.dll和託管調試技巧,否則它只會顯示本地事物。所以它有一個尖銳的學習曲線。

相關問題