2014-05-19 2 views
7

Я прочитал this article пытается найти: «Какие исключения завершает весь процесс» (ИСИ, поэтому в основном пул приложений заканчивается - w3wp.exe)Какое исключение завершает процесс? (W3wp IIS в)

я уже знаю (из моего опыта), что:

  • StackOverflow исключения делает завершает
  • OutOfMemory исключения также завершает

Я уже прочитал Han's answer here который redire каратов в SSCLI20 исходного кода, где он дал пример кода:

TerminateProcess(GetCurrentProcess(), COR_E_STACKOVERFLOW);

Так что я скачал SSCLI20 и искали более TerminateProcess(GetCurrentProcess()...

И нашли те записи:

enter image description here

Но я не уверен, что это весь список, и даже если так - это не ясно.

Вопрос

Где я могу найти список исключений, завершает процесс полный?

+0

Вы также можете посмотреть соответствующий хост CLR. ASP.NET и SQL Server реализуют специальные правила. – usr

+1

Мои два цента: любое исключение, которое не обрабатывается в «Thread», завершит процесс. –

+0

Зачем вам это нужно? Какую проблему вы решаете? Например, зная, что SO прекратит вашу программу, на самом деле не поможет вам предотвратить ее (если вы не тщательно пересмотрите каждую строку кода ...), так как вы не можете ее уловить? .. – Lanorkin

ответ

2

Найдено.
Рихтер на помощь.

профессиональный термин называется: коррумпированные государственные исключения (CSE'e)

Поврежденные Государственные исключения (CSE): Эти исключения, которые не могут быть пойманной. За сценой метод FailFast среды выдает одно из этих исключений. Следовательно, он не может быть уловлен, и ваше приложение заканчивается необработанным исключением.

Из книги:

enter image description here

больше:

enter image description here

важно:

Примечание: Даже с HandleProcessCorruptedStateExceptions атрибутов, мы не можем работать со следующими исключениями, для аргументировано:

  • StackOverflowException - Как это аппаратный сбой, и нет больше стеки для дальнейшей обработки (Спасибо Абель Braaksma за указание на это).

  • ExecutionEngineException - Это происходит из-за повреждения памяти кучи и, следовательно, не может быть обработано дальше (ссылка).

Другая полезная ссылка по Абхишек Sur:

http://dailydotnettips.com/2013/09/23/corruptedstateexceptions-in-net-a-way-to-handle/

+0

Downvoter- комментарии полезны. –

1

Использование Microsoft в Debug Diagnostic Tool

Взгляните на http://support.microsoft.com/kb/919789/en-us, который объясняет все необходимые шаги подробно.

Другие exeptions, который вызывает врезаться 1. Доступ запрещен»за исключением 2. Скорость передачи в битах дросселирования 3. InvalidOperationException , кроме указанных выше, которые вы вывесили.

+0

Спасибо за комментарий. Предоставляет ли инструмент список CSE? –

+0

Да, этот инструмент предоставляет полную информацию о сбое. –

+0

Мне не интересно найти исключение после крушения. это я уже знаю из журнала событий. Я хочу знать (как говорится в моем вопросе) - 'Исключение исключает процесс (i3 w3wp)?' –

Смежные вопросы