偵錯準備:C++項目類型
本節說明如何偵錯 Visual C++ 專案範本所建立的基本項目類型。
請注意,那些以 DLL 為輸出結果的專案類型已分組到 偵錯 DLL 專案,因為它們具有共同的特點。
在本主題中
建議的屬性設定
針對所有非受控的除錯案例,應以相同方式設定某些屬性。 下表顯示建議的屬性設定。 此處未列出的設定可能會因不同的非受控項目類型而有所不同。 如需詳細資訊,請參閱 C++ 偵錯組態的項目設定。
組態屬性 |C/C++ |優化節點
屬性名稱 | 設定 |
---|---|
優化 | 設定為 Disabled (/0d)。 優化程式代碼較難偵錯,因為產生的指令不會直接對應至您的原始程式碼。 如果您發現程式在優化過的程式碼中才出現的錯誤(Bug),您可以開啟此設定,但請記住,反組譯碼 視窗中顯示的程式碼是從優化過的原始碼產生,而該原始碼可能不符合您在來源視窗中看到的內容。 其他功能,例如逐步執行,可能無法如預期般運作。 |
組態屬性 |鏈接器 |偵錯節點
屬性名稱 | 設定 |
---|---|
產生偵錯資訊 | 您應該一律將此選項設定為 [是] (/DEBUG),以建立偵錯所需的偵錯符號和檔案。 當應用程式進入生產環境時,您可以將它設定為關閉。 |
Win32 專案
Win32 應用程式是以 C 或 C++ 撰寫的傳統 Windows 程式。 在 Visual Studio 中偵錯這種類型的應用程式很簡單。
Win32 應用程式包括 MFC 應用程式和 ATL 專案。 它們使用 Windows API,而且可以使用 MFC 或 ATL,但不會使用 Common Language Runtime (CLR)。 不過,他們可以呼叫使用 CLR 的受控程式碼。
下列程序說明如何從 Visual Studio 內偵錯 Win32 專案。 偵錯 Win32 應用程式的另一種方式是啟動 Visual Studio 外部的應用程式並附加至該應用程式。 如需詳細資訊,請參閱 附加至執行中的程序。
偵錯 C 或 C++ Win32 應用程式
在 Visual Studio 中開啟專案。
在 [偵錯] 功能表上,選擇 [開始]。
使用在 初步檢視偵錯工具中討論的技術進行偵錯。
手動設定偵錯組態
在 [檢視] 選單上,單擊 [屬性頁]。
如果尚未開啟它,點擊 組態屬性 節點以開啟它。
選取 [一般],並將 [輸出] 資料列的值設定為 [偵錯]。
開啟 C/C++ 節點,然後選取 [一般]。
在 [偵錯] 列中,您可以指定要由編譯程式產生的偵錯信息類型。 您可以選擇的值包括 Program Database (/Zi) 或 Program Database for Edit & Continue (/ZI)。
選取 [優化],然後在 [優化] 列中,從下拉式清單中選取 [停用 (/0d)]。
優化程式代碼較難進行偵錯,因為產生的指令不會直接對應至您的原始程式碼。 如果您發現程式有僅在優化後代碼中出現的 Bug,您可以開啟此設定,但請記住,反組譯視窗中顯示的代碼是從優化後的源代碼產生的,可能與您在原始碼視窗中看到的內容不一致。 例如逐步執行等功能可能會不正確地顯示斷點和執行點。
開啟 [連結器] 節點,然後選取 [偵錯]。 在第一個 產生 列中,從下拉式清單中選取 [是] [/DEBUG]。 記得在偵錯時一律設定這個。
如需詳細資訊,請參閱 C++ 偵錯組態的項目設定。
相關內容
- 第一次查看調試程式
- C++偵錯組態 項目設定
- 附加至正在執行的單個或多個程式
- 偵錯和發行組態