題 為什麼Windows 7要求我調試程序?


我在Virtualbox凍結時在Virtualbox上安裝Linux。一個彈出框問我是否要調試Virtualbox。

為什麼Windows 7會問我,前端用戶,如果我想調試程序?這是打破抽象的障礙嗎?如果我點擊調試,Windows 7會做什麼呢?


4
2018-01-28 16:56


起源


你能發布截圖嗎?我不認為Windows會問 您 調試它。它需要您身邊的一些手動操作來執行調試操作。 - Bibhas
不要問它會做什麼......試試吧! - Tom Wijsman
謝謝,我無法重現錯誤,但彈出窗口注意到“Virtualbox已停止工作。[Debug] [Close Application]”。 - David Faux
此外,我確實嘗試單擊調試,Virtualbox窗口掛了五分鐘。之後,Visual Studio 2010打開並註意到空指針錯誤。這對最終用戶有何幫助?古怪。 - David Faux


答案:


您的系統最有可能設置為 事後調試

我不太清楚是什麼讓Windows提供調試失敗進程的選項。有一個 調試器 安裝可能肯定是決定的一部分。也許一個進程甚至可以強制在失敗後顯示調試選項。

通常該選項僅供開發人員使用。

可能相關的閱讀:
https://stackoverflow.com/questions/396369/how-do-i-disable-the-debug-close-application-dialog-on-windows-vista


10
2018-01-28 17:22



謝謝,Stackoverflow問題中的彈出窗口正是出了什麼問題。自安裝Visual Studio 2010以來,我確實安裝了調試器。 - David Faux
@Oliver,是的,這正是它的工作原理。發生崩潰時,Windows會使用中指示的任何調試器 AeDebug 註冊表項。默認情況下,它設置為Dr. Watson,它只創建一個崩潰轉儲並記錄它,但如果您安裝了另一個調試器(大多數編程環境將出於顯而易見的原因安裝),它會使用它。在這種情況下,當程序崩潰並且Windows看到您安裝了調試器時,它會要求您處理崩潰,因為它不知道您正在測試崩潰的程序或第三方程序是否是您自己的程序。 - Synetech


如果在Visual Studio或其他調試器中啟用了JIT調試,它將使您有機會將調試器附加到崩潰的進程,以便您可以進行事後調試。如果您不想進行JIT調試,可以將其禁用,然後必須手動將調試器連接到要在其崩潰之前進行調試的進程。


3
2018-01-29 02:33