【问题标题】:How do you get Windows Error Reporting (WER) to save memory dumps for hangs?如何获得 Windows 错误报告 (WER) 以保存内存转储以进行挂起?
【发布时间】:2019-03-03 13:16:09
【问题描述】:

WER 在应用程序挂起后创建内存转储。当 Windows 显示对话框 ApplicationName 没有响应 时,如果用户单击 关闭程序,我可以看到在 @ 中创建了 .hdmp 文件987654322@。将它们发送给 Microsoft 后,将创建此文件夹:C:\ProgramData\Microsoft\Windows\WER\ReportArchive\AppHang_WindowsFormsApp5_823dc9208bf3a14f898f39469b7b6a0c6f17c7_3db8b24d_07a39f1b。但是,此文件夹只有一个带有摘要的 .wer 文件。

能否配置 Windows 错误报告以保持内存转储捕获本地磁盘上无响应的应用程序?

我已经尝试过Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps,但它只是为崩溃创建转储,而不是挂起。

【问题讨论】:

标签: windows-10 memory-dump windows-error-reporting


【解决方案1】:

Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting\ 中创建一个名为CorporateWerServer 的REG_SZ 值,并将其值设置为空字符串。由于 Windows 无法联系企业 WER 服务器,因此挂起转储将保留在 C:\ProgramData\Microsoft\Windows\WER\ReportQueue\

【讨论】:

  • 这是唯一对我有用的东西。
【解决方案2】:

您可以使用 WER 的 ConfigureArchive 设置并将其设置为“2”[所有数据]。这将捕获并存档所有数据(而不仅仅是 Report.wer)。

请参阅 ConfigureArchive https://docs.microsoft.com/en-us/windows/desktop/wer/wer-settings

在提升的提示符下,运行:

Reg add "hklm\software\microsoft\windows\windows error reporting" /f /t REG_DWORD /v ConfigureArchive /d 2

设置企业 WER 服务器会导致所有崩溃/挂起报告都留在您的设备上,并且它们永远不会到达 Microsoft。这可能不是理想的解决方案。

【讨论】:

  • 嗨,我不记得我们是否测试过ConfigureArchive,但我会验证它是否有效并更改接受的答案。将 CorporateWerServer 更改为空字符串绝对是一种 hack - 2 中的 ConfigureArchive 听起来更接近我们想要的。
  • 这对我不起作用,即使我也在 HKCU 中设置了值。
猜你喜欢
  • 2015-05-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多