2010-11-01 3 views
3

Когда я создаю файл дампа с использованием ADPlus, я получаю исключение First chance и second chance, но когда я использую диспетчер задач для создания файла дампа, я получаю только один файл дампа. Это второе исключение? В любом случае, я немного смущен об этом исключении 1-го и 2-го шансов, хотя я немного об этом прочитал. Может быть, если кто-то может обеспечить некоторую хорошую аналогию, которые могли бы прояснить для меня вещиПервый шанс и исключение второго шанса

ответ

6

Смотрите здесь: http://blogs.msdn.com/b/davidklinems/archive/2005/07/12/438061.aspx

Короче, первый шанс исключение дает отладчику первый шанс инспектировать исключение и приложение состояния перед тем приложение обрабатывает исключение.

Вы можете остановить отладчик в этот момент (обычно это параметр, как «перерыв в отладчик при создании исключения». Часто это выключен по умолчанию). Если вы этого не сделаете или если приложение разрешено продолжить, исключение передается приложению.

Отладчик получает второй шанс при исключении, когда приложение не обрабатывает его. Опять же, вы можете прорваться в отладчик здесь (обычно это по умолчанию).

Обратите внимание, что если приложение не обрабатывает исключение, приложение обычно завершается.

+0

Чтобы добавить, если отладчик ловит второе исключение, поскольку приложение никогда не обрабатывало его, исключение было бы перенесено в операционную систему для обработки (обычно путем отображения ошибки и закрытия программы). – Dlongnecker

+1

Означает ли это, что один и тот же процесс не возникает, когда dump fils генерируется через диспетчер задач; Потому что я получаю только один файл дампа в этом случае? И какой дамп я получаю через диспетчер задач, это первый шанс или второй шанс? – imak

+1

@imak: Это второй шанс - при первой же возможности ОС еще не знает, будет ли обработчик обработан приложением. Также см. Обновление. ---- @ Ziplin: Я добавил его к ответу. – peterchen

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