C# 偵錯組態的項目設定(.NET Core、.NET 5+和 ASP.NET Core)
您可以在專案屬性頁的 [偵錯] 索引標籤 和 [建置] 索引標籤 變更 C# 專案偵錯設定。
若要開啟屬性頁,請在 [方案總管] 中選取項目,然後選取 [屬性] 圖示,或以滑鼠右鍵按兩下專案,然後選取 [屬性]。
如需詳細資訊,請參閱 偵錯和發布組態。
重要
這些設定不適用於 .NET Framework 或 UWP 應用程式。 若要設定 .NET Framework 的偵錯設定,請參閱
偵錯索引標籤
從 Visual Studio 2022 開始,請在 [偵錯] 標籤中選擇 [開啟偵錯啟動設定檔 UI] 以開啟啟動設定檔 UI 並變更偵錯設定。
啟動設定檔 (.NET Core, .NET 5+)
設定 | 描述 |
---|---|
|
指定要偵錯之應用程式的命令行自變數。 命令名稱是 Start external program中指定的應用程式名稱。 |
工作目錄 | 指定正在偵錯之應用程式的工作目錄。 在 C# 中,工作目錄預設會 \bin\debug。 |
使用遠端電腦 | 針對遠端偵錯,選取此選項並輸入遠端偵錯目標的名稱,或 Msvsmon 伺服器名稱。 遠端電腦上的應用程式位置是由 [組建] 索引標籤上的 [輸出路徑] 屬性所指定。位置必須是遠端電腦上的可共享目錄。 |
環境變數 | 在執行應用程式程式之前設定環境變數。 如需 ASP.NET Core,請參閱 環境。 |
啟用非受控程式碼偵錯 | 偵錯從受控應用程式呼叫的原生(非受控)Win32 程式碼。 |
啟用 SQL Server 偵錯 | 偵錯 SQL Server 資料庫物件。 |
啟用 WebView2 偵錯 | 使用 Microsoft Edge (Chromium) 調試程式對 JavaScript 進行偵錯。 |
啟動設定檔 (ASP.NET 核心)
除了 .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 會在 Debug 版本的組建中定義,而在 Release 版本中未定義。 TRACE 被定義在除錯和釋出版本中。 |
一般>優化程式代碼 | 除非錯誤只出現在優化代碼中,否則請將此設定在偵錯版本中保持未選取狀態。 優化程式代碼較難偵錯,因為指令不會直接對應至原始程式碼中的語句。 |
偵錯符號 | 指定編譯程式所產生的偵錯資訊類型。 請參閱 偵錯符號。 如需如何設定應用程式偵錯效能的資訊,請參閱 讓映射更容易偵錯。 |
輸出>基底輸出路徑 | 指定中繼輸出的基底資料夾。 輸出通常會放到 bin\Debug 目錄用於 Debug 構建。 |
輸出>基底中繼輸出路徑 | 指定中繼輸出的基底資料夾。 輸出通常會送到 調試版本的 obj\Debug。 |
偵錯符號
您可以選擇下列偵錯符號選項。
沒有符號被發出
指定不會產生偵錯資訊。
PDB 檔案,目前的平臺
產生 PDB 檔案是平臺特定的符號檔,可為其他工具提供資訊,特別是調試工具,關於主要可執行檔中的內容及其產生方式。
PDB 檔案、可攜式
產生 。PDB 檔案是非平台專屬的可攜式符號檔,可提供其他工具,特別是調試程式、主要可執行檔中內容及其產生方式的相關信息。 如需詳細資訊,請參閱 可攜式 PDB。
內嵌在 DLL/EXE 中,跨平臺可移植
將可攜式符號資訊內嵌至元件。 不會產生外部 PDB 檔案。
如需詳細資訊,請參閱 /debug (C# 編譯程式選項)。