2016-05-31 195 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 –