3

我有一个 ASP.Net 应用程序,它偶尔会崩溃并导致工作进程重新加载。系统在 Windows Server 2008 R2 64 位 SP1 上的 IIS 7.5 上运行。

我在应用程序事件日志中收到一个应用程序错误事件,然后是一个 Windows 错误报告事件日志。

Windows 错误报告事件日志将我指向一个目录:

C:\ProgramData\Microsoft\Windows\WER\ReportQueue\AppCrash_w3wp.exe_624e5315e1074e44338812efe102157b47f6ca8_053f0ff3

浏览网页表明我应该能够在此目录中找到内存转储,但是,我只有一个文件“Report.wer”。

我的想法是,我需要修改一些注册表设置,以便在再次发生这种情况时获得故障转储,尽管我似乎找不到需要更改的设置。

当前注册表设置如下

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting]
"ErrorPort"="\\WindowsErrorReportingServicePort"
"MaxQueueSizePercentage"=dword:00000001
"PurgeThreshholdValueInKB"=dword:0000000a
"ServiceTimeout"=dword:0000ea60
"MachineID"="EAF7F17C-3D38-42B1-9C22-8CDD82DD7F90"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting\Hangs]

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting\HeapControlledList]

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting\HeapControlledList\dwm.exe]
"EnableHeapThrottle"=dword:00000001

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting\RuntimeExceptionHelperModules]
"C:\\Windows\\Microsoft.NET\\Framework64\\v4.0.30319\\mscordacwks.dll"=dword:00000000

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting\WMR]
"Disable"=dword:00000001

有人可以让我知道我可能需要更改/添加哪些设置,以便在下次工作进程崩溃时获得内存转储。

4

1 回答 1

6

我发现以下文章展示了如何在 Server 2008 R2 SP1 上启用内存转储。

http://www.symantec.com/business/support/index?page=content&id=TECH74145

http://msdn.microsoft.com/en-us/library/bb787181(VS.85).aspx

我现在已经这样做了,正在等待另一次崩溃,然后将能够确认这些是否创建转储文件。

于 2011-12-13T15:40:04.993 回答