在应用程序挂起后,WER正在创建内存转储。当Windows显示 ApplicationName 对话框未响应时,如果用户单击关闭程序,我可以看到{ {1}}。将它们发送给Microsoft之后,将创建以下文件夹:C:\ProgramData\Microsoft\Windows\WER\Temp
。但是,此文件夹只有一个带有摘要的.wer文件。
是否可以将Windows错误报告配置为保留内存转储以捕获本地磁盘上无响应的应用程序?
我已经尝试过C:\ProgramData\Microsoft\Windows\WER\ReportArchive\AppHang_WindowsFormsApp5_823dc9208bf3a14f898f39469b7b6a0c6f17c7_3db8b24d_07a39f1b
,但是它只是为崩溃创建转储,而不是挂起。
答案 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。那可能不是理想的解决方案。