启用 JIT 附加调试

更新:2007 年 11 月

JIT 附加调试是用于描述如何将调试器附加到可执行映像的词组,它引发未捕获的异常。在非托管代码中,当您看到建议您执行以下步骤的消息框时将发生 JIT 附加调试:

  • 单击“确定”以终止该程序

  • 单击“取消”以调试该程序

如果单击“取消”,则启动调试器序并附加到该进程。控制此行为的注册表项称作 HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\Current Version\AeDebug

对于包括托管代码的应用程序,公共语言运行库将提供一个类似的对话框以进行 JIT 附加调试器。控制此选项的注册表项称作 HKEY_LOCAL_MACHINE\Software\Microsoft\.NETFramework\DbgJITDebugLaunchSetting

  • 如果值 = 0,则通过消息框提示用户。这只适用于与桌面交互的进程;服务和其他非交互式进程将会终止。

    在 .NET Framework 1.0 和 1.1 版,或 Windows 98 和 Windows Me 上的 .NET Framework 2.0 版中,该消息框选项是:

    • 继续。这将导致堆栈转储到控制台和进程终止。

    • 附加调试器。在此情况下,运行库生成在 DbgManagedDebugger 注册表项中列出的调试器。如果没有找到任何内容,进程将会终止。

    在 Windows 98 和 Windows Me 以外平台上的 .NET Framework 2.0 版中,这些选项是:

    • 发送。将错误报告发送至 Microsoft,然后终止进程。有关如何检索这些报告的信息,请参见 http://winqual.microsoft.com

    • 不发送。这将导致堆栈转储到控制台和进程终止。

    • 调试。运行库生成 DbgManagedDebugger 注册表项中列出的调试器。如果没有找到任何内容,进程将会终止。

  • 如果值 = 1,只返回控制。这在终止该进程后导致堆栈转储。

  • 如果值 = 2,则生成在 DbgManagedDebugger 注册表项中列出的调试器。

  • 如果值为 16,则只有在 .NET Framework 2.0 版中,运行库才会为与桌面交互的进程提供上述消息框。对于非交互式进程,运行库将生成 DbgManagedDebugger 注册表项中列出的调试器。这是 .NET Framework 2.0 版的默认设置。

请参见

概念

令映像更易于调试

启用分析

其他资源

调试和分析应用程序