共用方式為


一般偵錯選項

若要設定 Visual Studio 調試程式選項,請選取 [工具]>[選項],然後在 [ 偵錯] 底下選取或取消選取 [一般] 選項旁的方塊。 您可以使用 Tools 還原所有預設設定,>匯入和匯出設定>重設所有設定。 若要重設設定的子集,請使用 [匯入和匯出設定精靈] 儲存您的設定,再進行您要測試的變更,然後匯入儲存的設定。

您可以設定下列 [一般] 選項:

刪除所有斷點之前詢問:完成 刪除所有斷點 命令之前,必須先確認。

當某個程序中斷時中斷所有程序:如果發生中斷,將同時中斷偵錯工具所附加的所有程序。

當例外狀況跨越 AppDomain 或 Managed/Native 界限時停止:在 Managed 或混合模式偵錯中,Common Language Runtime 可以在下列條件成立時攔截跨應用程式域界限或 Managed/Native 界限的例外狀況:

  1. 當本機程式碼使用 COM Interop 呼叫受控程式碼且受控程式碼擲回例外狀況時。 請參閱 COM Interop 簡介

  2. 在應用程式域 1 中執行的 Managed 程式代碼呼叫應用程式域 2 中的 Managed 程式代碼時,應用程式域 2 中的程式碼會擲回例外狀況。 請參閱 使用應用程式域進行程式設計

  3. 當程式代碼使用反映呼叫函式時,該函式會擲回例外狀況。 請參閱 反思

在條件 2 和 3 中,有時例外狀況會由 mscorlib 的受控程式碼攔截,而不是由通用語言執行階段攔截。 此選項不會影響 mscorlib捕捉到的例外中斷。

啟用位址層級偵錯:啟用在位址層級進行偵錯的進階功能(反組譯碼 視窗、緩存器 視窗和地址斷點)。

  • 如果來源無法使用 顯示反組譯碼:當您偵錯來源無法使用的程式代碼時,自動顯示 反組譯碼 視窗。

啟用斷點篩選:可讓您設定斷點上的篩選,使其只會影響特定的進程、線程或計算機。

使用新的例外狀況協助程式:啟用取代例外狀況助理的例外狀況協助程式。 (從 Visual Studio 2017 開始支援例外狀況協助程式)

注意

針對受控程式碼,此選項先前稱為 啟用例外狀況助理

啟用 Just My Code:調試程式只會顯示並逐步執行使用者程式代碼 (“My Code”) ,忽略優化或沒有偵錯符號的系統程式代碼和其他程式代碼。

  • 警告如果啟動時沒有用戶程式代碼 (僅限受管理):偵錯從啟用 Just My Code 開始時,此選項會在沒有使用者程式代碼 (“My Code” ) 時警告您。

啟用 .NET Framework 原始程式碼逐步執行:允許調試程式逐步進入 .NET Framework 原始程式碼。 啟用此選項會自動停用 Just My Code。 .NET Framework 符號將會下載到快取位置。 使用 [選項] 對話框變更快取位置,[偵錯] 類別,[符號] 頁面。

略過屬性和運算符(僅限 Managed):防止調試器進入 Managed 程式代碼中的屬性和運算符。

啟用屬性評估和其他隱含函數調用:開啟變數視窗中屬性和隱含函數調用的自動評估,以及 [QuickWatch] 對話框。

  • 在變數視窗 (僅限 C# 和 JavaScript) 中的物件上呼叫字串轉換函式:在評估變數視窗中的物件時,執行隱含字元串轉換呼叫。 結果會顯示為字串,而不是類型名稱。 僅適用於在 C# 程式代碼中偵錯時。 調試程式Display 屬性可能會覆寫此設定(請參閱使用DebuggerDisplay屬性 )。

啟用來源伺服器支援:告訴 Visual Studio 調試程式從實作 SrcSrv (srcsrv.dll) 通訊協定的來源伺服器取得來源檔案。 Team Foundation Server 和適用於 Windows 的偵錯工具是實作通訊協定的兩個來源伺服器。 如需 SrcSrv 設定的詳細資訊,請參閱 SrcSrv 檔。 此外,請參閱 指定符號 (.pdb) 和原始程式檔

重要

因為讀取 .pdb 檔案可以在檔案中執行任意程式碼,因此請確定您信任伺服器。

  • 將來源伺服器診斷訊息列印至 [輸出] 視窗:啟用來源伺服器支援時,此設定會開啟診斷顯示。

  • 允許來源伺服器用於部分信任元件 (僅限受控):當啟用來源伺服器支援時,此設定會覆寫不檢索部分信任元件的來源的預設行為。

  • 一律執行不受信任的來源伺服器命令,而不提示:啟用來源伺服器支援時,此設定會覆寫執行不受信任命令時提示的默認行為。

啟用來源連結支援:告知Visual Studio調試程式下載包含來源連結資訊的 .pdb 檔案來源檔案。 如需來源連結的詳細資訊,請參閱 來源連結規格

重要

因為來源連結會使用 HTTP 或 HTTPs 下載檔案,因此請確定您信任 .pdb 檔案。

  • 將所有來源鏈接要求的驗證回退至 Git 憑證管理器:啟用來源鏈接支持時,如果來源鏈接的請求驗證失敗,Visual Studio 會呼叫 Git 憑證管理器。

高亮顯示斷點和當前語句的整個程式碼行(僅限C++):當調試工具高亮顯示斷點或當前語句時,它會反白顯示整個行。

要求原始程式檔完全符合原始版本:告訴調試程式確認原始程序檔符合用來建置您要偵錯之可執行檔的原始程式碼版本。 當版本不相符時,系統會提示您尋找相符的來源。 如果找不到相符的來源,在偵錯期間將不會顯示原始程式碼。

將所有 [輸出] 視窗文字重新導向至 [即時運算] 視窗:將通常出現在 [輸出] 視窗中的所有調試程式訊息傳送至 [即時運算] 視窗。

在變數視窗中顯示物件的原始結構:關閉所有物件結構檢視自定義。 如需有關自定義檢視的更多資訊,請參閱「建立 Managed 物件的自定義檢視」。

停用模組載入時的 JIT 優化(僅適用於 Managed):在載入模組時停用 Managed 程式碼的 JIT 優化,並在附加調試器時進行 JIT 編譯。 停用優化可能會讓您更輕鬆地偵錯一些問題,但會以降低效能作為代價。 如果您使用 Just My Code,隱藏 JIT 優化可能會導致非使用者程式代碼顯示為使用者程式代碼(「我的程式碼」)。 如需詳細資訊,請參閱 JIT 優化和偵錯

啟用 ASP.NET 的 JavaScript 偵錯(Chrome、Microsoft Edge 和 IE):啟用 ASP.NET 應用程式的腳本調試程式。 第一次在 Chrome 中使用時,您可能需要登入瀏覽器,才能啟用您已安裝的 Chrome 擴充功能。 停用此選項以還原為舊版行為。

啟用使用多目標 JavaScript 調試程式在適用的目標中偵錯 JavaScript (需要偵錯重新啟動) 啟用同時與瀏覽器和後端的連線,讓您從編輯器直接偵錯在用戶端和伺服器中執行的程式代碼。

載入 dll 匯出(僅限原生):載入 dll 匯出數據表。 如果您使用 Windows 訊息、Windows 程式(WindowProcs)、COM 物件或封送處理,或您沒有符號的任何 dll,來自 dll 匯出數據表的符號資訊可能會很有用。 讀取 dll 匯出資訊牽涉到一些額外負荷。 因此,此功能預設為關閉。

若要查看 dll 的匯出資料表中有哪些符號可用,請使用 dumpbin /exports。 符號適用於任何 32 位系統 dll。 藉由讀取 dumpbin /exports 輸出,您可以看到精確的函式名稱,包括非字母數字字元。 這對於在函式上設定斷點很有用。 來自 dll 匯出數據表的函式名稱可能會在調試程式的其他位置出現截斷。 呼叫清單依照呼叫順序排列,目前的函式(最深巢狀)位於頂端。 如需詳細資訊,請參閱 dumpbin /exports

顯示平行堆疊圖表由下至上:控制堆疊在 平行堆疊 視窗中顯示的方向。

如果寫入的數據未變更值,忽略 GPU 記憶體存取例外狀況:如果數據未變更,則會忽略偵錯期間偵測到的競爭狀況。 如需詳細資訊,請參閱 偵錯 GPU 程式代碼

使用受控相容性模式:以舊版取代預設偵錯引擎,以啟用下列案例:

  • 您使用的是 C#、Visual Basic 或 F# 以外的 .NET 語言,這些語言提供自己的運算式評估工具(這包括 C++/CLI)。

  • 您想要在混合模式偵錯期間為 C++ 專案啟用 [編輯後繼續]。

注意

選擇 [受控兼容性] 模式會停用某些只在預設偵錯引擎中實作的功能。 舊版偵錯引擎已在 Visual Studio 2012 中取代。

當使用自訂的調試器視覺化工具來對潛在不安全的程序進行偵錯時發出警告:因為可能會執行不安全的代碼,所以當您使用在偵錯過程中執行代碼的自訂調試器視覺化工具時,Visual Studio 會發出警告。

啟用 Windows 偵錯堆積配置器(僅限原生):啟用 Windows 偵錯堆積以改善堆積診斷。 啟用此選項會影響偵錯效能。

啟用 XAML 的 UI 偵錯工具:當您開始偵錯時,[即時可視化樹狀結構] 和 [實時屬性探索] 視窗會出現(F5) 支援的項目類型。 如需詳細資訊,請參閱在偵錯時 檢查 XAML 屬性

  • 在即時可視化樹狀結構中預覽選定的元素:在 即時可視化樹狀結構 視窗中,選中的 XAML 元素的上下文也會被選中。

  • 在應用程式中顯示運行時間工具:在正在偵錯的 XAML 應用程式主視窗的工具列上顯示 即時可視化樹狀結構 命令。

  • 啟用 XAML 熱重載:可讓您在執行應用程式時搭配 XAML 程式代碼使用 XAML 熱重載功能。 (此功能先前稱為「XAML 編輯後繼續」)

  • 啟用 Just My XAML:從 Visual Studio 2019 16.4 版開始,即時可視化樹狀結構 預設只會顯示分類為使用者程式代碼的 XAML。 如果您停用此選項,工具中會顯示所有產生的 XAML 程式代碼。

  • 當選取一個元素時,關閉選取模式 從 Visual Studio 2019 版本 16.4 開始,當選取一個元素時,應用程式內工具列中的元素選取器按鈕(啟用選取功能)會自動關閉。 如果停用此選項,元素選取會保持開啟狀態,直到您再次按下應用程式內工具列按鈕為止。

  • 在文件儲存時套用 XAML 熱重載 從 Visual Studio 2019 16.6 版開始,會在儲存檔時套用 XAML 熱重載。

偵錯時啟用診斷工具:偵錯時會出現 [診斷工具] 視窗。

偵錯時顯示效能提示:當您在偵錯時,程式代碼視窗會顯示指定方法呼叫所經過的時間。

啟用編輯後繼續:在偵錯時啟用 [編輯後繼續] 功能。

  • 啟用原生編輯後繼續:您可以在偵錯原生C++程序代碼時,使用 [編輯後繼續] 功能。 如需詳細資訊,請參閱 編輯後繼續 C++

  • 在繼續時套用變更(僅限原生):Visual Studio 會自動編譯並套用您在繼續從中斷狀態繼續程式時所做的任何未完成的程式代碼變更。 如果未選取,您可以選擇使用 [偵錯] 功能表底下的 套用程式代碼變更 項目來套用變更。

  • 警告過時程序代碼(僅限原生):取得過時程式代碼的相關警告。

編輯器內偵錯時顯示執行到單擊按鈕:選取此選項時,偵錯時會顯示 [執行到單擊] 按鈕。

偵錯停止時自動關閉主控台:告訴 Visual Studio 在偵錯會話結束時關閉控制台。

啟用快速表達式評估(僅限 Managed):允許調試程式藉由模擬執行簡單屬性和方法來嘗試更快速的評估。

在外部進程中載入偵錯符號(僅限原生) 在偵錯時啟用此 記憶體優化

在調試程式中中斷時將Visual Studio帶到前景, 在調試程式中暫停時,將Visual Studio切換至前景。

[保持展開的資料提示] 保持開啟,直到點擊至其他地方為止 選取此選項時,展開的資料提示會保持展開,直到您點擊至其他地方。

舊版 Visual Studio 中可用的選項

如果您使用舊版的 Visual Studio,可能會有一些其他選項。

啟用適用於UWP JavaScript Apps的Edge開發人員工具(實驗性):在 Microsoft Edge 中啟用 UWP JavaScript 應用程式的開發人員工具。

為 ASP.NET啟用舊版 Chrome JavaScript 調試程式:為 ASP.NET 應用程式啟用舊版 Chrome JavaScript 腳本調試程式。 第一次在 Chrome 中使用時,您可能需要登入瀏覽器,才能啟用您已安裝的 Chrome 擴充功能。

啟用例外狀況助理:針對受管理代碼,啟用例外狀況助理。 從 Visual Studio 2017 開始,例外狀況協助程式已取代例外狀況助理。

在未處理的例外狀況上回溯呼叫堆疊:導致 呼叫堆棧 視窗將呼叫堆棧復原到未處理的例外狀況發生前的點。

以系統管理員身分執行Visual Studio時,使用實驗方式啟動Chrome JavaScript偵錯:告訴Visual Studio 嘗試在 JavaScript 偵錯期間啟動 Chrome 的新方法。

啟動時沒有符號(僅限原生)警告:當您偵錯調試程序沒有符號資訊的程式時,會顯示警告對話框。

如果啟動時已停用腳本偵錯則發出警告:在啟動調試程序時,如果腳本偵錯被停用,將顯示警告對話方塊。

使用受控相容性模式:選取此選項時,調試程式會使用Visual Studio 2010 Managed 調試程式,這是偵錯C++/CLI 程式代碼時所需的。

使用原生相容性模式:選取此選項時,調試程式會使用Visual Studio 2010原生調試程式,而不是新的原生調試程式。

  • 當您偵錯 .NET C++程式代碼時,請使用此選項,因為新的偵錯引擎不支援評估 .NET C++表達式。 不過,啟用原生相容性模式會停用許多相依於目前調試程序實作運作的功能。 例如,舊版引擎缺少許多內建類型的可視化檢視,例如Visual Studio 2015專案中的 std::string。 在這些情況下,請使用 Visual Studio 2013 項目獲得最佳偵錯體驗。

另請參閱