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


Включение отладки с JIT-присоединением

Обновлен: Ноябрь 2007

Отладка с JIT-присоединением означает присоединение отладчика к исполняемому образу, который создает неперехваченное исключение. В неуправляемом коде это происходит каждый раз при отображении окна сообщений, которое предлагает:

  • Нажать кнопку "ОК", чтобы завершить программу

  • Нажать кнопку "Отмена", чтобы запустить отладку программы

После нажатия кнопки "Отмена" отладчик запускается и присоединяется к процессу. Управление данным процессом осуществляется разделом реестра HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\Current Version\AeDebug.

Для приложения, содержащего управляемый код, JIT-присоединение отладчика выполняется в среде CLR в аналогичном диалоговом окне. Этим параметром управляет следующий раздел реестра: HKEY_LOCAL_MACHINE\\Software\\Microsoft\\.NETFramework\\DbgJITDebugLaunchSetting.

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

    В .NET Framework версий 1.0 и 1.1 или в .NET Framework версии 2.0 в Windows 98 и Windows Mе окно сообщения предлагает выполнить следующие действия.

    • Продолжить. Выполняется вывод дампа стека на консоль, после чего процесс завершается.

    • Присоединить отладчик. В этом случае среда выполнения вызовет отладчик, указанный в разделе реестра DbgManagedDebugger. Если отладчик отсутствует, процесс завершается.

    В .NET Framework версии 2.0 для платформ, отличных от Windows 98 и Windows Mе, окно сообщения предлагает выполнить следующие действия.

    • Отправить. В компанию Майкрософт направляется отчет об ошибке, после чего процесс завершается. Сведения об извлечении отчетов см. на веб-узле http://winqual.microsoft.com.

    • Не отправлять. Выводится дамп стека на консоль, и процесс завершается.

    • Отладка. В этом случае среда выполнения вызовет отладчик, указанный в разделе реестра DbgManagedDebugger. Если отладчик отсутствует, процесс завершается.

  • Если значение равно 1, управление возвращается. Выводится дамп стека, после чего процесс завершается.

  • Если значение равно 2, среда выполнения вызовет отладчик из раздела реестра DbgManagedDebugger.

  • Если значение равно 16, среда выполнения выводит вышеупомянутое окно сообщения для процессов, взаимодействующих с рабочим столом (только в .NET Framework версии 2.0). Для процессов, не участвующих во взаимодействии, среда выполнения вызывает отладчик из раздела реестра DbgManagedDebugger. Этот параметр применяется по умолчанию в .NET Framework версии 2.0.

См. также

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

Упрощение отладки образов

Включение профилирования

Другие ресурсы

Отладка и профилирование приложений