【发布时间】:2011-10-04 09:50:04
【问题描述】:
我正在强制使进程崩溃并尝试分析故障转储。 我正面临崩溃进程和崩溃转储生成(刷新)之间的竞争条件。
如果故障转储太大,则需要一些 cputime,Windows 调试器(或 watson)中是否有任何回调函数可以告知故障转储完成?
或者有什么机制可以强制刷新故障转储并开始分析。
我不是在寻找基于投票的解决方案。
【问题讨论】:
-
这没有任何意义,没有什么需要“刷新”。当 MiniDumpWriteDump() 返回时转储完成。
-
好吧,我没有调用 MiniDumpWriteDump() ,我只是将注册表项放在 Windows 错误报告下以进行故障转储并使进程崩溃。我期待崩溃被windows转储到相应的进程。另外,如果 MiniDumpWriteDump() 被 windows 调用,我不确定如何跟踪它。
-
我在做以下步骤: 1. 在windows error reporting (wer) 下添加对应crash dump 的注册表项 2. 给给pid 的进程crash 3. 等待操作系统自动生成crash dump? ?? (这就是问题所在) 4.分析故障转储文件
-
我拥有的一种解决方案是轮询机制以使用 process.HasExited 等待进程退出。
标签: windows process analysis crash-dumps