C++偵錯組態的項目設定
您可以在 [屬性頁] 對話框中變更 C 或 C++ 偵錯組態的項目設定,如如何:設定偵錯和發行組態 中所述。 下表顯示 屬性頁 對話框中尋找調試程序相關設定的位置。
注意
元件屬性/偵錯 類別中的偵錯專案設定,對於 UWP 應用程式和以C++撰寫的元件不同。 請參閱 啟動偵錯工作階段 (VB、C#、C++ 和 XAML)。
當您儲存解決方案時,每個偵錯屬性設定都會自動寫入並儲存至解決方案的「每位使用者」檔案(.vcxproj.user)。
指定要使用的調試程式,以便在 [調試程式] 內啟動 列表框,如下表所述。 您的選擇會影響可見的屬性。
組態屬性資料夾 (偵錯類別)
設定 | 描述 |
---|---|
調試程序啟動 | 使用下列選項指定要執行的除錯程式: - 本機 Windows 調試程式 - 遠端 Windows 調試程式 - 網頁瀏覽器調試程式 - Web 服務調試程式 |
命令 (本機 Windows 調試程式) | 指定命令,以啟動您要在本機計算機上偵錯的程式。 |
遠端命令 (遠端 Windows 偵錯工具) | 遠端電腦上 .exe 的路徑。 輸入路徑,就像您在遠端計算機上輸入一樣。 |
命令參數 (本機 Windows 偵錯工具) 遠端命令自變數 (遠端 Windows 調試程式) |
- 指定您要偵錯之程式的自變數。 如需設定命令列自變數的詳細資訊,請參閱 將命令行自變數傳送至偵錯者 (C++)。 您可以在此方塊中使用下列重新導向運算子: < file 從檔案讀取 stdin。 > file 將 stdout 寫入檔案。 >> file 將 stdout 附加至檔案。 2> file 將 stderr 寫入檔案。 2>> file 將 stderr 附加至檔案。 2> &1 將 stderr (2) 輸出傳送至與 stdout (1) 相同的位置。 1> &2 將 stdout (1) 輸出傳送至與 stderr 相同的位置 (2)。 在大部分情況下,這些運算符僅適用於控制台應用程式。 如果您需要逸出命令中的字元,您可以使用 ASCII 值,例如 %25 來取代 %。 如果您使用 開始偵錯 命令,雙引號會逸出上述命令,例如 「<」 來取代 <。 |
工作目錄 | 指定所偵錯之程式的工作目錄,相對於 EXE 所在的項目目錄。 如果您將此保留空白,工作目錄就是項目目錄。 針對遠端偵錯,專案目錄位於遠端伺服器上。 |
附加 (本機 Windows 調試程式和遠端 Windows 調試程式) | 指定是要啟動或附加至應用程式。 默認設定為 [否]。 |
遠端伺服器名稱 (遠端 Windows 調試程式 ) | 指定您要偵錯應用程式的電腦名稱(而非您的電腦)。 RemoteMachine Build 宏對應至此屬性的值,如需詳細資訊,請參閱 建置命令和屬性的巨集說明。 |
連線 (遠端 Windows 調試程式) | 可讓您在標準與無驗證連線類型之間切換,以進行遠端偵錯。 在 遠端伺服器名稱 方塊中指定遠端電腦名稱。 連接類型包括下列項目: - 使用 Windows 驗證的遠端 - 沒有驗證的遠端 注意 沒有驗證的遠端偵錯可能會讓遠端計算機容易受到安全性違規的影響。 Windows 驗證模式更安全。 如需詳細資訊,請參閱 遠端偵錯設定。 |
HTTP URL (Web 服務除錯程式與網頁瀏覽器除錯程式) | 指定專案所在的 URL,以進行偵錯。 |
調試程序類型 | 指定要使用的除錯程式類型:Native Only、Managed Only、GPU Only、Mixed、Auto(預設值),或 Script。 - Native Only 適用於 Unmanaged C++ 程式代碼。 - 「Managed Only」 適用於在共通語言執行平台(Common Language Runtime)下執行的受控程式碼。 - 混合式 會針對 Managed 和 Unmanaged 程式代碼叫用調試程式。 - 自動 會根據編譯程式和 EXE 資訊來判斷調試程序類型。 - 腳本 呼叫腳本的調試器。 - GPU 僅限 適用於在 GPU 裝置或 DirectX 參考轉譯器上執行的 C++ AMP 程式代碼。 請參閱 偵錯 GPU 程式代碼。 |
環境 (本機 Windows 調試程式和遠端 Windows 調試程式) | 指定您要偵錯之程式的環境變數。 使用標準環境變數語法(例如,PATH="%SystemRoot%\..." )。 這些變數會覆寫系統環境,或與系統環境合併,視 合併環境 設定而定。 當您在右欄中點擊時,會出現「編輯...」。 選取該連結以開啟 [屬性編輯器] 並編輯環境變數。 若要新增多個環境變數,請使用 屬性編輯器,併為每個行新增一個變數。 |
合併環境 (本機 Windows 調試程式) | 判斷 [環境] 方塊中指定的變數是否與操作系統所定義的環境合併。 默認設定為 [是]。 |
SQL 調試 (不包括 MPI 叢集調試器) | 從您的 Visual C++ 應用程式啟用 SQL 程序的偵錯功能。 默認設定為 [否]。 |
偵錯加速器類型 (僅限 GPU 偵錯) | 指定要用於偵錯的 GPU 裝置。 安裝相容 GPU 裝置的設備驅動器會新增其他選項。 預設設定為 GPU - 軟體模擬器。 |
GPU 預設斷點行為 (僅限 GPU 偵錯) | 指定是否應該針對 SIMD 變形中的每個線程引發斷點事件。 默認設定是每個變形只引發斷點事件一次。 |
Amp 預設加速器 | 指定偵錯 GPU 程式代碼時的預設 AMP 加速器。 選擇 WARP 軟體加速器 調查硬體或驅動程式所造成的問題,而不是您的程式代碼。 |
部署目錄 (遠端 Windows 調試程式) | 指定在啟動前複製項目輸出的遠端電腦上的路徑。 路徑可以是遠端電腦上的網路共用,也可以是遠端電腦上資料夾的路徑。 默認設定是空的,這表示項目輸出不會複製到網路共用。 若要啟用檔案的部署,您也必須在 [組態管理員] 對話框中選取 [部署] 複選框。 如需詳細資訊,請參閱 如何:建立和編輯組態。 |
要部署的其他檔案 (遠端 Windows 調試程式) | 如果已設定 Deployment Directory 屬性,這是要複製到部署目錄之其他資料夾或檔案的分號分隔清單。 默認設定是空的,這表示不會將其他資料夾或檔案複製到部署目錄。 若要將資料夾的內容複製到部署目錄中的相同資料夾,請指定資料夾名稱。 若要啟用檔案的部署,您也必須在 [組態管理員] 對話框中選取 [部署] 複選框。 如需詳細資訊,請參閱 如何:建立和編輯組態。 |
部署 Visual C++ 偵錯運行時程式庫 (遠端 Windows 調試器) | 如果已設定 Deployment Directory 屬性,這會指定目前平臺的 Visual C++偵錯運行時間連結庫是否應該複製到網路共用。 默認設定為 [是]。 |
C/C++ 資料夾 (一般類別)
設定 | 描述 |
---|---|
偵錯資訊格式 (/Z7、/Zd、Zi、/ZI) | 指定要為專案建立的偵錯資訊類型。 默認選項 (/ZI) 會以 [編輯後繼續] 相容格式建立程式資料庫 (PDB)。 如需詳細資訊,請參閱 /Z7、/Zd、/Zi、/ZI(偵錯資訊格式)。 |
C/C++ 資料夾 (優化類別)
設定 | 描述 |
---|---|
優化 | 指定編譯程式是否應該優化其產生的程序代碼。 優化會變更執行的程序代碼。 優化程序代碼不再符合原始程式碼,這會使偵錯更加困難。 默認選項 (Disabled (/0d))會隱藏優化。 您可以在不使用優化的情況下進行開發,然後在建立程式碼的生產版本時開啟它。 |
連結器資料夾(偵錯類別)
設定 | 描述 |
---|---|
產生偵錯資訊 (/DEBUG) | 告知連結器包含偵錯資訊,其格式是由 /Z7、/Zd、Zi 或 /ZI所指定。 |
產生程式資料庫檔案 (/PDB:name) | 在此方塊中指定程式資料庫 (PDB) 檔案的名稱。 您必須選擇偵錯資訊格式為 ZI 或 /Zi。 |
去除私人符號 (/PDBSTRIPPED:filename) | 如果您不想在 PDB 檔案中包含私人符號,請指定此方塊中的 PDB 檔名。 當您使用任何產生 PDB 檔案的編譯程式或連結器選項來建置程式映射時,此選項會建立第二個 PDB 檔案,例如 /DEBUG、/Z7、/Zd。 或 /Zi。 第二個 PDB 檔案會省略您不想寄送給客戶的符號。 如需詳細資訊,請參閱 /PDBSTRIPPED (刪除私人符號)。 |
產生映射檔 (/MAP) | 告知連結器在連結期間生成映射文件。 默認設定為 [否]。 如需詳細資訊,請參閱 /MAP (產生 Mapfile)。 |
地圖檔名 (/MAP:名稱) | 如果您選擇 [產生對應檔案],您可以在此方塊中指定對應檔案。 如需詳細資訊,請參閱 /MAP (產生 Mapfile)。 |
匯出地圖 (/MAPINFO:EXPORTS) | 在映射檔中包含導出的函式。 默認設定為 [否]。 如需詳細資訊,請參閱 /MAPINFO (在 Mapfile 中包含資訊)。 |
可偵錯元件 (/ASSEMBLYDEBUG) | 指定連結器 /ASSEMBLYDEBUG 選項的設定。 可能的值為: - 沒有發出任何可偵錯特性。 - 執行時間追蹤和停用優化選項 (/ASSEMBLYDEBUG)。 這是預設設定, - 不進行運行時追蹤並啟用優化(/ASSEMBLYDEBUG:DISABLE)。 - <繼承自父項或專案預設值>。 - 如需詳細資訊,請參閱 /ASSEMBLYDEBUG (新增 DebuggableAttribute)。 |
您可以使用 Microsoft.VisualStudio.VCProjectEngine.VCDebugSettings 介面,以程式設計方式在 [組態屬性] 資料夾中變更這些設定。 如需詳細資訊,請參閱 VCDebugSettings。
其他項目設定
若要對靜態庫和 DLL 等專案類型進行偵錯,您的 Visual Studio 專案必須能夠找到正確的檔案。 當原始程式碼可供使用時,您可以將靜態庫和 DLL 當做個別專案新增至相同的解決方案,讓偵錯更容易。 如需建立這些項目類型的詳細資訊,請參閱 建立和使用動態連結庫 (DLL) 和 使用靜態庫建立。 有了可用的原始程式碼,您也可以從現有的程式代碼選擇 [檔案]>[新增>專案] 來建立新的 Visual Studio 專案。
若要對專案外部的 DLL 進行偵錯,請參閱 偵錯 DLL 專案。 如果您需要偵錯自己的 DLL 專案,但無法存取呼叫應用程式的專案,請參閱 如何從 DLL 專案進行偵錯。