如何读取小型转储?

Posted

技术标签:

【中文标题】如何读取小型转储?【英文标题】:How can I read a minidump? 【发布时间】:2014-01-11 00:06:57 【问题描述】:

我有一个通过MiniDumpWriteDump 写入文件的小型转储。该文件是从客户端发送给我的(即我不能使用某种即时调试器)。我的问题是:如何打开它? Visual Studio 给出错误:“不支持调试旧格式的故障转储。”我用谷歌搜索,发现人们正在使用 Visual Studio 打开内核转储。这不是内核转储,只是应用程序崩溃的转储。我也尝试用 WinDbg 打开它,但也无法打开它。如何获取信息?

【问题讨论】:

windbg 遇到哪些具体错误?那应该可以。 @Joe "找不到 C:\dump.dmp 转储文件,Win32 错误 0n87。参数不正确。" 你在什么平台上,Windbg是什么版本? @Joe Win7x64 Windbg:6.2.9200.16384 X86(可执行文件为32位) @HansPassant 我使用我的机器作为客户端反映了这种情况,我得到了相同的结果。 【参考方案1】:

工具: http://technet.microsoft.com/el-gr/sysinternals/dd996900.aspx

您在 *** 中还没有看到的帖子: Getting started with dump file analysis

如果您仍有问题,请将 minidump 文件发送给我。前段时间我很感兴趣,但阅读这些文件太令人沮丧了!

PS:我用的书:http://books.google.gr/books/about/Windows_Forensic_Analysis_DVD_Toolkit.html?id=6LX9PRoX5zgC&redir_esc=y

【讨论】:

当我从该文件运行 procdump 和 procdump64 时,它运行然后立即关闭。【参考方案2】:

随便用

BOOL WINAPI MiniDumpReadDumpStream(
  _In_   PVOID BaseOfDump,
  _In_   ULONG StreamNumber,
  _Out_  PMINIDUMP_DIRECTORY *Dir,
  _Out_  PVOID *StreamPointer,
  _Out_  ULONG *StreamSize
); 

MiniDumpReadDumpStream

【讨论】:

我看到了,但这本质上是说我需要制作自己的解析工具。我希望有一个可以使用的。为什么要重新发明***,对吧?

以上是关于如何读取小型转储?的主要内容,如果未能解决你的问题,请参考以下文章

在 Windows 7 上安装调试工具以分析小型转储

如果我有一个小型转储文件或异常结构,我如何获得 winqual 使用的“桶 id”? (Windows c++)

在保留一些堆信息的同时减少托管程序的小型转储的大小?

无法写入核心转储。默认情况下,在 Windows 的客户端版本上不启用小型转储

libc中的错误?如何读取转储文件?

如何循环 python 读取一组 HTML 文件并转储到 JSON