C# 偵錯組態的項目設定(.NET Core、.NET 5+和 ASP.NET Core)
您可以在專案屬性頁的 [偵錯] 索引標籤 和 [建置] 索引標籤 變更 C# 專案偵錯設定。
若要開啟屬性頁,請在 [方案總管] 中選取項目,然後選取 [屬性] 圖示,或以滑鼠右鍵按兩下專案,然後選取 [屬性]。
偵錯標籤
從 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。 如需此檔案的詳細資訊,請參閱 在 Core中使用多個 ASP.NET 環境中的開發與 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 版本中被定義,而在發行版本中則未定義。 TRACE 定義於偵錯和發行版本中。 |
一般>優化程式代碼 | 除非錯誤只出現在優化編譯碼中,否則在偵錯版本中保持此設定取消選取。 優化程式代碼較難偵錯,因為指令不會直接對應至原始程式碼中的語句。 |
偵錯符號 | 指定編譯程式所產生的偵錯資訊類型。 請參閱 偵錯符號。 如需如何設定應用程式偵錯效能的資訊,請參閱 讓映射更容易偵錯。 |
輸出>基底輸出路徑 | 指定中繼輸出的基底資料夾。 輸出通常會到 bin\Debug 目錄,用於偵錯版本的建置。 |
輸出>基底中繼輸出路徑 | 指定中繼輸出的基底資料夾。 輸出通常會 偵錯組建的 obj\Debug。 |
偵錯符號
您可以選擇下列偵錯符號選項。
沒有發出符號
指定不會產生偵錯資訊。
PDB 檔案,目前的平臺
產生 .PDB 檔案,這是與平臺相關的符號檔,可提供其他工具,特別是偵錯工具,關於主要可執行檔內的內容及其生成方式的資訊。
PDB 檔案、便攜式
產生.PDB檔案,這是一種非平台專屬的可攜式符號檔,可提供其他工具,特別是除錯器,了解主要可執行檔的內容及其產生方式的相關資訊。 如需詳細資訊,請參閱 可攜式 PDB。
內嵌在 DLL/EXE 中,跨平臺可移植
將可攜式符號資訊內嵌至元件。 不會產生外部的 PDB 檔案。
如需詳細資訊,請參閱 /debug (C# 編譯程式選項)。