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

  • 相关阅读:
    shell 命令
    unzip解压失败 添加tar 解压
    tomcat
    Linux常用命令
    压缩归档与解压
    Linux的任务计划管理
    A01. openstack架构实战-openstack基本环境准备
    ubuntu16.04 server版破解密码
    Ubuntu Server 18.04 网络设置不生效的解决
    带宽单位 Mbps 及换算方式
  • 原文地址:https://www.cnblogs.com/beta2013/p/3377274.html
Copyright © 2011-2022 走看看