两个服务器每3-4小时崩溃,并发生以下事件查看器记录的错误:
Faulting application name: w3wp.exe,version: 7.5.7601.17514,time stamp: 0x4ce7afa2
Faulting module name: clr.dll,version: 4.0.30319.18034,time stamp: 0x50b5a783
Exception code: 0xc00000fd Fault offset: 0x000000000001a840
Faulting process id: 0xd50
Faulting application start time: 0x01ce97fe076d27b4
Faulting application path: c:\windows\system32\inetsrv\w3wp.exe
Faulting module path: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\clr.dll Report Id: e0c90a5f-0455-11e3-8f0e-005056891553
我不知道如何调试或从哪里开始。当崩溃即将发生时,服务器处理器使用率跳转到100%,并保持在那里。进程故障是w3wp.exe。我甚至不确定我的代码是否生成错误或不。这是IIS 7.5。任何指针将非常感谢。
解决方法
DebugDiag可以配置为在发生StackOverflowException时生成崩溃转储。下载https://www.microsoft.com/en-us/download/details.aspx?id=49924。
>打开DebugDiag,然后单击添加规则。
>“崩溃”应该已经被选中。点击下一步。
>选择“特定IIS Web应用程序池”,然后单击下一步。
>选择应用程序池,然后单击下一步。
>您应该在高级配置窗口。单击高级设置下的例外。
>单击添加例外并选择堆栈溢出,其操作类型为完全用户转储
>单击确定并保存并关闭。
下次发生StackOverflowException时,您将有一个崩溃转储。现在需要解释dump文件。
用于Windows的调试工具是Windows SDK的一部分,可以在http://msdn.microsoft.com/en-US/windows/hardware/gg463009/下载。
>要使用WinDbg,您需要获取符号文件。 Download the symbol files并将其放在本地文件夹中。
>打开WinDbg。在“文件”菜单上,单击“符号文件路径”。
>在符号路径框中,文档说要键入以下命令:SRV *您的本地文件夹的符号* http://msdl.microsoft.com/download/symbols,但是我只是放在本地文件夹的符号和它工作正常。
>退出并再次打开WinDbg,并打开崩溃转储并找到由DebugDiag创建的转储文件。
>在命令行中,键入.loadby sos clr
>现在输入!Clrstack
原文地址:https://www.jb51.cc/aspnet/254283.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。