啟用 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 版的預設值。