在 Windows Web 服务器中,我尝试获取失败的 IIS 7 工作进程 (w3wp.exe) 的内存转储,但没有成功。
在事件查看器中我得到以下内容。
Faulting application name: w3wp.exe, version: 7.5.7600.16385, time stamp: 0x4a5bd0eb
Faulting module name: clr.dll, version: 4.0.30319.1, time stamp: 0x4ba21eeb
Exception code: 0xc00000fd
Fault offset: 0x0000000000005c22
Faulting process id: 0x1cac
Faulting application start time: 0x01cc23419da54772
Faulting application path: c:\windows\system32\inetsrv\w3wp.exe
Faulting module path: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\clr.dll
Report Id: b54ec4f8-8fa4-11e0-ab62-005056810035
即使我已经为 WER 配置了 LocalDumps,特别是为注册表中的 w3wp.exe 配置了 LocalDumps。我收到另一个事件,告诉我这里有一份报告:C:\ProgramData\Microsoft\Windows\WER\ReportQueue\AppCrash_w3wp.exe_cdb8af6deb381574fe9fb0dc9aa3edaad59acd5f_cab_4fbf9b53
它包含以下文件:
- WERD931.tmp.应用程序兼容性.txt
- WERDFE9.tmp.WERInternalMetadata.xml
- WER99EF.tmp.WERDataCollectionFailure.txt
令人沮丧的是 WERDataCollectionFailure ,它说:
堆转储生成失败:0x8007012b 小型转储生成失败:0x8007001f
经过多次尝试、大量 msdn 文档和多次失败的 google 搜索后,我不知道如何在此处获取转储。
有人对如何使 WER 发挥作用有什么建议吗?
提前感谢您阅读本文:)
答案1
你应该考虑使用调试诊断要捕获内存转储,请执行以下操作白皮书. 另一种方法是使用适用于 Windows 的调试工具并使用以下命令:
c:\debuggers\adplus.vbs -crash -pn w3wp.exe -o c:\dumps
答案2
WERDataCollectionFailure.txt 文件中的错误代码表明 ERROR_GEN_FAILURE 导致 ERROR_PARTIAL_COPY。ERROR_GEN_FAILURE 表示“连接到系统的设备无法正常工作”(非常普遍;名副其实)。
您需要在事件日志中查找与此相关的另一个错误,以了解更详细的情况。