Поделиться через


Возобновление выполнения после исключения

Когда отладчик приостанавливает выполнение из–за возникновения исключения, появляется диалоговое окно. Для Visual Basic или C# по умолчанию отображается диалоговое окно помощник по исключениям. Для C++ отображается старое диалоговое окно Исключение. Если используется Visual Basic или C#, но отключен Помощник по исключениям в диалоговом окне Параметры, в этом случае появляется диалоговое окно Исключение.

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

Управляемый код

В случае управляемого кода можно возобновить выполнение в том же потоке после необработанного исключения. Помощник по исключениям возвращает стек вызовов к точке, в которой возникло исключение.

Машинный код

В случае машинного кода С/С++ имеются две возможности:

  • Можно нажать кнопку Прервать и попробовать устранить проблему. Находясь в режиме приостановки выполнения, можно вернуть назад стек вызовов, щелкнув правой кнопкой мыши фрейм в окне Стек вызовов и выбрав Очистить до этого фрейма в контекстном меню. Если неполадки не были устранены, то при возобновлении отладки снова появляется диалоговое окно Исключение. В противном случае диалоговое окно Исключение не появляется.

  • Можно нажать кнопку Продолжить, чтобы продолжить выполнение без попытки устранить неполадку. Снова появится диалоговое окно Исключение.

Смешанный код

Если при отладке смешанного машинного и управляемого кода возникает необрабатываемое исключение, ограничения операционной системы не позволяют очистить стек вызовов. При попытке очистить стек вызовов с помощью контекстного меню отображается сообщение об ошибке, поясняющее, что при отладке смешанного кода отладчик не может вернуться в предыдущее состояние после возникновения необрабатываемого исключения.

См. также

Основные понятия

Обработка исключений (отладка)