我们在 Windows2008 r2、IIS7.5 上运行了一些 asp.net(3.5) 应用程序。最近我们得到了一些非常困难的事件日志,我们不知道该怎么做,希望有人能帮忙。
1.EventID: 1334 (9-1-2011 8:41:57) 错误消息
进程主机空闲检查期间发生错误。异常:System.AccessViolationException 消息:尝试读取或写入受保护的内存。这通常表示其他内存已损坏。StackTrace:位于 System.Collections.Hashtable.GetEnumerator() 位于 System.Web.Hosting.ApplicationManager.IsIdle() 位于 System.Web.Hosting.ProcessHost.IsIdle()
2.EventID: 1023 (9-1-2011 19:44:02) 错误消息
.NET 运行时版本 2.0.50727.4952 - 致命执行引擎错误 (742B851A) (80131506)
3.EventID: 1000 (9-1-2011 19:44:03) 错误消息
错误应用程序名称:w3wp.exe,版本:7.5.7600.16385,时间戳:0x4a5bcd2b 错误模块名称:mscorwks.dll,版本:2.0.50727.4952,时间戳:0x4bebd49a 异常代码:0xc0000005 错误偏移量:0x0000c262 错误进程 ID:0x%9 错误应用程序启动时间:0x%10 错误应用程序路径:%11 错误模块路径:%12 报告 ID:%13
4.EventID: 5011 (9-1-2011 19:44:03) 错误消息
为应用程序池“AppPoolName”提供服务的进程与 Windows 进程激活服务发生致命通信错误。进程 ID 为“2552”。数据字段包含错误编号。
5.一些信息:我们从控制面板>>操作中心获得了memory.hdmp(234MB)和minidump.mdmp(19.2),但我不知道如何使用它们:(
答案1
这可以帮助你缩小范围;
使用 windbg 打开内存转储
转到视图->调用堆栈(这将调出调用堆栈)
进入视图->命令(此窗口默认弹出,但您需要在命令行中输入)
“.loadby sos mscorwks”(无引号)
“!符号修正”
“.reload -f”
“!CLRStack”
最后一个命令 !CLRStack 应该向您显示崩溃发生时 .net 堆栈上发生的情况。
您可以输入 !Help 来从我们在步骤 5 中加载的“SOS”dll 中获取帮助。
如果你遇到麻烦,网上有很多参考资料。你的开发人员应该能识别出他在堆栈跟踪中看到的一些东西。
祝你好运!