Windows (WER) 能否在崩溃进程的同时生成小型转储和完整转储?

Can Windows (WER) generate minidumps and full dumps at the same time of a crashing process?

我们有一个应用程序部署在很多客户端上,我们想要配置 Windows 以便它在应用程序崩溃时收集应用程序的转储。由于崩溃并不频繁,我们希望确保在转储中有足够的信息以找到问题的根源,因此我们配置 Windows 以生成完整转储。

鉴于客户端上传速度慢,转储大约 800 MB,我们考虑同时生成一个小型转储和一个完整转储,以便仅在小型转储不包含足够信息时收集完整信息调试。

这可能吗?如果不可能,我们可以使用命令行从转储中提取小型转储吗?

恕我直言,WER 无法同时创建这两种类型。

可以使用 WinDbg 转换转储:

  1. 打开完整转储
  2. .dump /mFhutip c:\small.dmp勾选你想要的选项。注意:对于完整的 .NET 分析,您通常需要完整的内存。

您可以使用 cdb 而不是 windbg 来自动执行此任务,并通过 -c "<command>" 命令行开关传递命令,例如:

cdb -c ".dump /mFhutip c:\debug\dumps\small.dmp ; q" -z c:\debug\dumps\big.dmp