zoukankan      html  css  js  c++  java
  • 堆栈溢出StackOverflow异常导致应用程序挂掉

    现象

      部署到服务器上的应用程序挂掉,并且无法在使用try{}Catch{}、AppDomain.CurrentDomain.UnhandledException事件处理器与Application.ThreadException事件处理器记录的日志文件中看到异常信息,在Windows 事件记录器中也未得到详细的异常堆栈信息

    解释

      从.net4.0开始若发生会导致进程崩溃的异常(如stack overflows 、access violations),不会将其捕获而是直接结束进程运行,除非是在以下场景
        CLR在一个托管的环境(Visual Studio)中运行,该环境允许这些异常被捕获
        这些异常是被主动创建并抛出的,而不是执行业务代码时发生的

    解决

    使用Debug Diagnostic Tools捕捉mini dump。
      使用VS进行远程调试,找出异常出现的位置。确保远程的应用程序与VS加载的工程的代码文件与pdf调试符号文件是一致的,否则无法在期望的断点处断下。

    参考

      http://stackoverflow.com/questions/1599219/c-sharp-catch-a-stack-overflow-exception
      http://msdn.microsoft.com/en-us/library/system.stackoverflowexception.aspx
      http://stackoverflow.com/questions/2591406/how-to-print-stack-trace-of-stackoverflowexception
      http://msdn.microsoft.com/en-us/library/system.appdomain.unhandledexception.aspx
      http://blogs.msdn.com/b/tess/archive/2009/06/16/first-look-at-debugging-net-4-0-dumps-in-visual-studio-2010.aspx

  • 相关阅读:
    <转>程序员的心理疾病
    lua与c++ 中布尔布bool值对应关系
    php根据身份证号码计算年龄
    Java中List与Map初始化的一些写法
    在ASP.NET中发送电子邮件的实例教程
    C#中Messagebox.Show()常用参数用法详解
    Js判断CSS文件加载完毕的实例教程
    PHP CURL访问HTTPS使用详解
    下拉导航菜单被遮住解决办法
    Struts2基本包作用详解
  • 原文地址:https://www.cnblogs.com/beta2013/p/3377274.html
Copyright © 2011-2022 走看看