Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 哪个异常终止进程?(iis和w3wp)_.net_Exception_Iis - Fatal编程技术网

.net 哪个异常终止进程?(iis和w3wp)

.net 哪个异常终止进程?(iis和w3wp),.net,exception,iis,.net,Exception,Iis,我读过试图查找的文章:“哪些异常会终止整个进程”(iis,因此基本上应用程序池会终止-w3wp.exe) 根据我的经验,我已经知道: StackOverflow异常不会终止 Outofmemory异常也会终止 我已经阅读了重定向到SSCLI20源代码的内容,其中他给出了一个代码示例: TerminateProcess(GetCurrentProcess(),COR_E_STACKOVERFLOW) 因此我下载了SSCLI20并搜索了更多的TerminateProcess(GetCurrent

我读过试图查找的文章:“哪些异常会终止整个进程”(iis,因此基本上应用程序池会终止-
w3wp.exe

根据我的经验,我已经知道:

  • StackOverflow异常不会终止
  • Outofmemory异常也会终止
我已经阅读了重定向到
SSCLI20
源代码的内容,其中他给出了一个代码示例:

TerminateProcess(GetCurrentProcess(),COR_E_STACKOVERFLOW)

因此我下载了
SSCLI20
并搜索了更多的
TerminateProcess(GetCurrentProcess()…

并找到这些条目:

但我不确定这是否是全部清单,即使如此,也不是很清楚

问题

在哪里可以找到终止进程的异常的完整列表?

找到了它。
里希特来营救

专业术语称为:损坏状态异常(CSE'e)

损坏状态异常(CSE):这些是无法捕获的异常。幕后环境的FailFast方法会抛出其中一个异常。因此,无法捕获该异常,应用程序将以未处理的异常结束

书中:

更多:

重要:

注意:即使使用属性HandleProcessCorruptedStateExceptions,出于特定原因,我们也无法处理以下异常:

  • StackOverflowException
    -因为这是一个硬件故障,没有更多的堆栈可供进一步处理(感谢Abel Braaksma指出这一点)

  • ExecutionEngineeException
    -由于堆内存损坏而发生,因此无法进一步处理(参考)

另一个通过南阿披实的有用链接:


使用Microsoft的调试诊断工具

看一看详细解释了所有必要步骤的步骤

导致崩溃的其他例外情况 1.拒绝访问“异常” 2.比特率调节 3.无效操作例外
除了上面您发布的内容。

您还可以查看相关的CLR主机。ASP.NET和SQL Server实现特殊规则。我的两分钱:任何未在
线程中处理的异常都将终止进程。您为什么需要此功能?您正在解决哪个问题?例如,知道这样做将终止您的程序并不意味着实际帮助您防止它(除非您仔细地重新思考每一行代码…),因为你抓不到它?。@Lanorkin Learning我想不会伤害你。可能他对学习感兴趣。好奇!那些从事iis制作的人都知道我在说什么谢谢你的评论。这个工具提供了CSE的列表吗?是的,这个工具提供了崩溃的完整信息。我对在崩溃后发现异常不感兴趣h、 这一点我已经从事件日志中知道了。我想知道(正如我的问题所述)
哪个异常终止进程(iis的w3wp)?