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# 編譯器選項)。