2016-05-31 59 views
0

我需要從C#中讀取二進制文件CrashDump.dmp。如果我使用WinDbg,我可以讀取文件並查看內容,但我不想使用GUI,因爲我們想自動分析多個文件。從.NET分析崩潰轉儲(.dmp)

我希望能夠從C#做同樣的事情。如果這個案例有一些API,那就太好了。

+0

除了答案,如果你想使用純粹的C#和不想使用任何mdbg或任何你可以參考這個黑客我寫了一些時間回https://github.com/blabberer/chashdbg – blabb

回答

2

您可以使用cdb代替WinDbg並運行WinDbg腳本。在此腳本中,您可以使用SOS或PyKd (Python)等擴展來完成任務。這樣的解決方案甚至不需要C#代碼。這適用於內核轉儲或本機應用程序的轉儲文件。

也可以使用CLR managed debugger engine在C#中構建調試器,該調試器也可作爲Nuget package使用。請注意,這着重於.NET應用程序。本地應用程序或內核轉儲可能無法獲得良好的結果。

我發現了以下教程:Writing an automatic debugger in 15 minutes,這可能是您的一個很好的起點。

+0

FYI:看到這裏對於分析內存的潛在問題:http://stackoverflow.com/questions/37624824/reading-objects-from-memory-with-mdbgeng –