我的客户端在两个生产服务器上安装了一个ASP.NET应用程序(与北草坪会议大楼保持平衡,但这与此无关)。这两台服务器每3-4小时崩溃一次,出现以下事件查看器记录错误:
错误应用程序名称: w3wp.exe,版本: 7.5.7601.17514,时间戳: 0x4ce7afa2 故障模块名称: clr.dll,版本: 4.0.30319.18034,时间戳: 0x50b5a783 异常代码: 0xc00000fd故障偏移量:0x00000000000001a840 故障过程id: 0xd 50 故障应用程序启动时间: 0x01ce97fe076d27b4 故障应用程序路径: c:\windows\system32\inetsrv\w3wp.exe 故障模块路径: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\clr.dll报表Id: e0c90a5f-0455-11e3-8f0e-005056891553
我不知道如何调试,也不知道从哪里开始。当崩溃即将发生时,服务器处理器的使用率跃升到100%,并停留在那里。出错的过程是w3wp.exe。我甚至不确定我的代码是否产生了错误。是IIS 7.5。任何指示都将不胜感激。
发布于 2013-08-20 13:01:14
看起来您有一个StackOverflow异常,它是由无界递归(一个函数反复调用自身等)引起的。这不能被常规的尝试/捕捉块捕获。您可以使用DebugDiag和WinDbg跟踪问题。
DebugDiag可以配置为在StackOverflowException发生时生成崩溃转储。在https://www.microsoft.com/en-us/download/details.aspx?id=58210下载。
下次发生StackOverflowException时,您将有一个崩溃转储。现在需要解释转储文件。
Windows的调试工具是Windows的一部分,可以在http://msdn.microsoft.com/en-US/windows/hardware/gg463009/下载。
SRV*your local folder for symbols*http://msdl.microsoft.com/download/symbols,但是我只是在本地文件夹中输入了符号,它工作得很好。.loadby sos clr!CLRStack在结果中,应该清楚问题是什么(您可能会看到一堆显示反复调用的函数的行)。
发布于 2014-01-13 14:59:06
对上述答案的补充。开发浏览器扩展程序,在用户登录时出现错误。因此,对于用户来说,它看起来是“闪烁的屏幕”(而资源管理器试图启动和崩溃,然后重新启动等等)。在安装了DebugDiag和WinDbg的另一个用户帐户下登录。今天(2014年1月13日),我使用Windows8.1和.Net 4.0进行所有最新更新,尝试在本地下载少量符号,但由于信号不正确,WinDbg无法加载clr.pdb。
使用符号在线解决它-使用"SRV*http://msdl.microsoft.com/download/symbols“作为符号路径。
发布于 2014-02-20 10:36:11
另一个原因可能是“无限递归功能”。当发生信息循环Windows时,尝试避免死锁并禁用已发布的应用程序池。
我今天也遇到了同样的问题。我有一个递归函数,它列出了父项目-子项目。一个项目被设置为父项目,当回收函数尝试列出所有父-子项目时,会出现无限循环。
https://stackoverflow.com/questions/18335678
复制相似问题