我在一些生产 Windows Server 2008 R2 标准服务器上使用调试诊断工具(DebugDiag v1.2),这些服务器运行在 IIS 7.5 上内部构建的自定义 Web 应用程序来创建崩溃转储文件。
问题是 Windows 进程激活服务 (WAS) 警告事件不断发生在我的所有生产服务器上,并且频率在增加,但它们发生的时间仍然是随机的,在整个 24 小时内。
以下是我关注的一个系统日志事件示例:
级别:警告 来源:WAS 事件 ID:5011 描述:为应用程序池“MyAppPool”提供服务的进程与 Windows 进程激活服务发生致命通信错误。进程 ID 为“7776”。数据字段包含错误编号。
我分析转储,每次都会得到类似这样的结果(如下)。问题是,在遇到重复数百次的“0x3d9b9c16”行后,我该如何继续深入研究该问题?我可以使用哪些工具或方法来进一步调试?
线程 252 - 系统 ID 6380 入口点 0x00000000 创建时间 2015 年 3 月 25 日晚上 10:52:49 用户模式下所用时间 0 天 00:00:01.856 内核模式下所用时间 0 天 00:00:00.124
此线程被未处理的异常阻塞
.NET 调用堆栈
函数 System.Web.Hosting.UnsafeIISMethods.MgdIndicateCompletion(IntPtr,System.Web.RequestNotificationStatus ByRef)
完整调用堆栈
函数来源 ntdll!ZwTerminateProcess
KERNELBASE!TerminateProcess+2c
clr!EEPolicy::HandleFatalStackOverflow+1ba
clr!EEPolicy::HandleStackOverflow+1ac
clr!COMPlusFrameHandler+9b
ntdll!ExecuteHandler2+26
ntdll!ExecuteHandler+24
ntdll!RtlDispatchException+127
ntdll!KiUserExceptionDispatcher+f
clr!COMNlsHashProvider::HashiStringKnownLower80+10
clr!COMNlsInfo::InternalGetCaseInsHash+fa
mscorlib_ni+2e7a9b
mscorlib_ni+2e7a0a
mscorlib_ni+38aba8
mscorlib_ni+2e1a10
mscorlib_ni+2e19cf
mscorlib_ni+2e18ce
System_ni+1a41b4
System_Web_ni+1c6785
System_Web_ni+1f3581
System_Web_ni+1c67f8
0x1b2bcc27
0x3d9b9c0e
0x3d9b9c16
0x3d9b9c16
0x3d9b9c16
0x3d9b9c16
...(这重复了数百行!)... 0x3d9b9c16
0x3d9b9c16
0x3d9b9c16
0x3d9b9c16
System_Web_ni+217774
System_Web_ni+1ea04d
System_Web_ni+1ea087
System_Web_ni+1ea0e2
System_Web_ni+1ea0e2
System_Web_ni+1ea0e2
System_Web_ni+1fd845
System_Web_ni+1fd3a5
System_Web_ni+1fd2d9
System_Web_ni+1fd216
System_Web_ni+1fc16b
System_Web_ni+2021f6
System_Web_ni+1df356
System_Web_ni+1f1277
System_Web_ni+1df5f0
System_Web_ni+1dc0cb
System_Web_ni+1e1561
System_Web_ni+1e126f
webengine4!W3_MGD_HANDLER::ProcessNotification+5a
webengine4!W3_MGD_HANDLER::DoWork+2cb
webengine4!RequestDoWork+2ea
webengine4!CMgdEngHttpModule::OnExecuteRequestHandler+18
iiscore!NOTIFICATION_CONTEXT::RequestDoWork+128
iiscore!NOTIFICATION_CONTEXT::CallModulesInternal+305
iiscore!NOTIFICATION_CONTEXT::CallModules+28
iiscore!W3_CONTEXT::DoStateRequestExecuteHandler+36
iiscore!W3_CONTEXT::DoWork+d7
iiscore!W3_MAIN_CONTEXT::ContinueNotificationLoop+1f
iiscore!W3_MAIN_CONTEXT::ProcessIndicateCompletion+1f
iiscore!W3_CONTEXT::IndicateCompletion+75
webengine4!W3_MGD_HANDLER::IndicateCompletion+38 webengine4!
MgdIndicateCompletion+22
System_Web_ni+240211
System_Web_ni+1e16e0
System_Web_ni+1e126f
clr!UM2MThunk_WrapperHelper+10
clr!UM2MThunk_Wrapper+76
clr!Thread::DoADCallBack+b4
clr!UM2MDoADCallBack+92
0x0098b361
webengine4!W3_MGD_HANDLER::ProcessNotification+5a
webengine4!ProcessNotificationCallback+32
clr!UnManagedPerAppDomainTPCount::DispatchWorkItem+1ce
clr!ThreadpoolMgr::ExecuteWorkRequest+42
clr!ThreadpoolMgr::WorkerThreadStart+36c
clr!线程::intermediateThreadProc+4d
kernel32!BaseThreadInitThunk+e
ntdll!__RtlUserThreadStart+70
ntdll!_RtlUserThreadStart+1b
谢谢!