共用方式為


啟用 JIT 附加偵錯

更新:2007 年 11 月

JIT 附加偵錯是用來描述將偵錯工具附加至可執行檔映像的語法,它會擲回一個無法攔截的例外狀況。在 Unmanaged 程式碼上,它出現的時機是當您看到一個訊息方塊提示您:

  • 按一下 [確定] 以結束程式。

  • 按一下 [取消] 以偵錯程式。

如果您按一下 [取消],即啟動偵錯工具並將其附加至處理序。控制這項作業的登錄機碼 (Registry Key) 是 HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\Current Version\AeDebug

在含有 Managed 程式碼的應用程式上,Common Language Runtime 將會出現一個和 JIT 附加偵錯工具類似的對話。控制這個選項的登錄機碼是 HKEY_LOCAL_MACHINE\Software\Microsoft\.NETFramework\DbgJITDebugLaunchSetting

  • 如果 value = 0,以訊息方塊提示使用者。這樣只會套用至與桌面互動的處理序;服務和其他非互動的處理序都會結束。

    在 .NET Framework 1.0 和 1.1 版,或是 Windows 98 和 Windows Me 上的 .NET Framework 2.0 版中,訊息方塊選擇包括:

    • 繼續。此項會造成堆疊傾印至主控台和處理序終止 (Termination)。

    • 附加偵錯工具。在這種情況下,Runtime 會繁衍 DbgManagedDebugger 登錄機碼所列出的偵錯工具。如果找不到任何偵錯工具,處理序就會終止。

    在非 Windows 98 和 Windows Me 平台上的 .NET Framework 2.0 版中,選擇包括:

    • 傳送。對 Microsoft 傳送一份錯誤報告,接著終止處理序。如需如何擷取這些報告的資訊,請參閱 http://winqual.microsoft.com

    • 不傳送。此項會造成堆疊傾印至主控台和處理序終止 (Termination)。

    • 偵錯。執行階段會繁衍 DbgManagedDebugger 登錄機碼所列出的偵錯工具。如果找不到任何偵錯工具,處理序就會終止。

  • 如果 value = 1,只交回控制權。這個選項會在程序中止後產生堆疊傾印。

  • 如果 value = 2,繁衍 DbgManagedDebugger 登錄機碼所列出的偵錯工具。

  • 如果 value = 16,執行階段便會對與桌面互動的處理序,呈現以上描述的訊息方塊 (僅限 .NET Framework 2.0 版)。如果是非互動式的處理序,執行階段會繁衍 (Spawn) DbgManagedDebugger 登錄機碼中所列的偵錯工具,這是 .NET Framework 2.0 版的預設值。

請參閱

概念

使映像偵錯更容易

啟用分析

其他資源

偵錯和分析應用程式