共用方式為


C# 偵錯設定的專案設定 (.NET Core、.NET 5+ 和 ASP.NET Core)

您可以在專案屬性頁的 [偵錯] 索引標籤和 [組建] 索引標籤中變更 C# 專案偵錯設定。

若要開啟屬性頁面,請選取 [方案總管] 中的專案,然後選取 [屬性] 圖示,或以滑鼠右鍵按一下專案並選取 [屬性]

如需詳細資訊,請參閱偵錯和發行組態

重要

這些設定不適用於 .NET Framework 或 UWP 應用程式。 若要設定 .NET Framework 的偵錯設定,請參閱 C# 偵錯設定的專案設定

偵錯索引標籤

從 Visual Studio 2022 開始,在 [偵錯] 索引標籤中選擇 [開啟偵錯啟動設定檔 UI],以開啟啟動設定檔 UI 並變更偵錯設定。

啟動設定檔 (.NET Core、.NET 5+)

設定 描述
命令列引數 為要偵錯的應用程式指定命令列引數。 命令名稱是在 [啟動外部程式] 指定的應用程式名稱。
工作目錄 指定為應用程式偵錯時的工作目錄。 在 C# 中,工作目錄預設會 \bin\debug
使用遠端電腦 針對遠端偵錯,選取此選項並輸入遠端偵錯目標的名稱,或 Msvsmon 伺服器名稱
遠端機器上的應用程式位置可在 [建置] 索引標籤的 [輸出路徑] 屬性中指定。其位置必須是遠端電腦上的可共用目錄。
環境變數 在執行應用程式處理序之前設定環境變數。 針對 ASP.NET Core,請參閱環境
啟用 Unmanaged 程式碼偵錯 對從託管應用程式對原生 (非託管) Win32 程式碼的呼叫進行偵錯。
啟用 SQL Server 偵錯 對 SQL Server Database 物件進行偵錯。
啟用 WebView2 偵錯 使用 Microsoft Edge (Chromium) 型偵錯工具對 JavaScript 進行偵錯。

啟動設定檔 (ASP.NET Core)

除了 .NET 5+ 的屬性之外,ASP.NET Core 啟動設定檔也包含不同 ASP.NET Core 設定檔的數個其他屬性。 這些設定可為專案的 launchSettings.json 檔案提供簡單的 UI。 如需此檔案的詳細資訊,請參閱在 ASP.NET Core 中使用多個環境中的「開發與 launchSettings.json」一節。

啟動設定檔 UI 中提供的設定包括下列各項。

設定 描述
啟動瀏覽器 選取是否要使用您在 [URL] 設定中設定的 URL,在開始偵錯時啟動預設瀏覽器。
Url 指定 .NET 或 .NET Core 的主機 URL 位置。 對於以專案命名的設定檔 (也就是 launchSettings.json 中的 commandName 屬性是 Project),Kestrel 伺服器會接聽指定的通訊埠。 針對 IIS 設定檔,這通常與應用程式 URL 的值相同。 如需詳細資訊,請參閱設定專案下的「IIS 啟動設定檔」一節。
應用程式 URL 指定應用程式 URL。 針對以專案命名的設定檔,此屬性會指定 Kestrel 伺服器 URL,通常是 https://localhost:5001 和 http://localhost:5000

Visual Studio 預設會提供 IIS Express 設定檔,但是您可以建立其他設定檔,例如 IIS 設定檔。 這些設定也會對應至 launchSettings.json 中的設定。 這兩種設定檔類型提供數個設定,例如裝載模型。

設定 描述
裝載模型 指定 [同處理序] (預設值) 或 [跨處理序]。 如需詳細資訊,請參閱 ASP.NET Core 文件中的裝載模型
應用程式 SSL URL 針對 IIS Express,應用程式 SSL URL 通常是 http://localhost:44334.

建置索引標籤

下表顯示適用於偵錯的建置設定。 如需建置設定的完整說明,請參閱建置頁面、專案設計工具

設定 描述
一般>條件式編譯符號 若選取,會定義 DEBUG 和 TRACE 常數。

這些常數可啟用 Debug 類別Trace 類別的條件式編譯。 完成這些常數定義之後,Debug 和 Trace 類別方法即會於輸出視窗產生輸出。 如果沒有這些常數,Debug 和 Trace 類別方法便不會編譯,且不會產生輸出。

通常,DEBUG 會在組建的偵錯版本中定義,在發行版本中則不會定義。 TRACE 會在偵錯版本和發行版本中定義。
一般>最佳化程式碼 除非錯誤只出現在最佳化程式碼中,否則請在偵錯組建中取消選取此設定。 因為指令無法直接對應到原始程式碼的陳述式,所以較難對最佳化程式碼進行偵錯。
偵錯符號 指定編譯器所產生的偵錯資訊類型。 請參閱偵錯符號。 如需如何設定應用程式效能偵錯的資訊,請參閱使映像偵錯更容易
輸出>基底輸出路徑 指定中繼輸出的基底資料夾。 若為偵錯組建,輸出通常會在 bin\Debug
輸出>基底中繼輸出路徑 指定中繼輸出的基底資料夾。 若為偵錯組建,輸出通常會在 obj\Debug

偵錯符號

您可以選擇下列偵錯符號選項。

  • 未發出任何符號

    指定不會產生任何偵錯資訊。

  • PDB 檔案,目前的平台

    產生 .PDB 檔案,這是平台特定符號檔,可將主要可執行檔中項目的資訊和其產生方式提供給其他工具 (特別是偵錯工具)。

  • PDB 檔案,可攜式

    產生 .PDB 檔案,這是非平台特定可攜式符號檔,可將主要可執行檔中項目的資訊和其產生方式提供給其他工具 (特別是偵錯工具)。 如需詳細資訊,請參閱 Portable PDB (可攜式 PDB)。

  • 內嵌在 DLL/EXE 中,可跨平台攜帶

    在組件中內嵌可攜式符號資訊。 不會產生任何外部 .PDB 檔案。

如需詳細資訊,請參閱 /debug (C# 編譯器選項)

另請參閱