如何获取Windows错误报告(WER)以保存内存转储以供挂起?

时间:2018-09-27 15:09:17

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

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

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

我已经尝试过C:\ProgramData\Microsoft\Windows\WER\ReportArchive\AppHang_WindowsFormsApp5_823dc9208bf3a14f898f39469b7b6a0c6f17c7_3db8b24d_07a39f1b,但是它只是为崩溃创建转储,而不是挂起。

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

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

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

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

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

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