偵錯準備:C++ 專案類型

本節說明如何偵錯由 Visual C++ 專案範本所建立的基本專案類型。

請注意,那些建立 DLL 作為其輸出的專案類型已被歸類為偵錯 DLL 專案,因為它們具有共同的功能。

本主題內容

建議的屬性設定

Win32 專案

在所有 Unmanaged 偵錯情況中,某些屬性必須以相同的方式設定。 下表顯示建議的屬性設定。 此處未列出的設定,可能會因不同的 Unmanaged 專案類型而異。 如需詳細資訊,請參閱 C++ 偵錯組態的專案設定

組態屬性 | C/C++ | 最佳化節點

屬性名稱 設定
最佳化 設定為 [停用 (/0d)]。最佳化程式碼較難偵錯,因為產生的指令不能直接對應到您的原始程式碼。 如果您發現程式含有僅出現在最佳化程式碼中的 Bug,您可以開啟這個設定,但是請記住,顯示在 [反組譯碼] 視窗裡的程式碼是由最佳化原始程式碼所產生,可能與您在原始程式碼視窗所看到的內容不相符。 其他功能 (例如逐步執行) 可能無法如預期般地執行。

組態屬性 | 連結器 | 偵錯節點

屬性名稱 設定
產生偵錯資訊 這個選項必須一律設定為 [是 (/DEBUG)],才能產生偵錯時需要的偵錯符號和檔案。 當應用程式開始運作時,就可以將其設定為關閉。

本主題內容

Win32 專案

Win32 應用程式是以 C 或 C++ 撰寫的傳統 Windows 程式。 在 Visual Studio 中可以直接偵錯這種類型的應用程式。

Win32 應用程式包括 MFC 應用程式和 ATL 專案。 它們會使用 Windows API,也可能會使用 MFC 或 ATL,但是不會使用 Common Language Runtime (CLR)。 但是,它們能呼叫使用 CLR 的 Managed 程式碼。

下列程序說明在 Visual Studio 內偵錯 Win32 專案的方法。 另一個偵錯 Win32 應用程式的方法,是在 Visual Studio 外部啟動應用程式,然後進行附加。 如需詳細資訊,請參閱附加至執行中的處理程序

偵錯 C 或 C++ Win32 應用程式

  1. 在 Visual Studio 中開啟專案。

  2. 在 [偵錯] 功能表上選擇 [啟動]

  3. 使用第一次查看偵錯工具中討論的技術進行偵錯。

手動設定偵錯組態

  1. 在 [檢視] 功能表上按一下 [屬性頁]

  2. 如果 [組態屬性] 節點尚未開啟,請按一下將它開啟

  3. 選取 [一般],並將 [輸出] 列的值設定為 [偵錯]

  4. 開啟 [C/C++] 節點,並選取 [一般]

    在 [偵錯] 列中,指定您希望編譯器產生的偵錯資訊類型。 您可能選擇的值包括 [程式資料庫 (/Zi)] 或 [編輯後繼續的程式資料庫 (/ZI)]

  5. 選取 [最佳化],並在 [最佳化] 列的下拉清單中,選取 [停用 (/0d)]

    最佳化程式碼較難偵錯,因為產生的指令不能直接對應到您的原始程式碼。 如果您發現程式含有僅出現在最佳化程式碼中的錯誤,您可以啟動這個設定,但是請記住,顯示在 [反組譯碼] 視窗裡的程式碼是由最佳化原始程式碼所產生,可能無法對應至您在原始程式碼視窗所看到的內容。 逐步執行之類的功能,可能無法正確顯示中斷點和執行點。

  6. 開啟 [連結器] 節點,並選擇 [偵錯]。 在第一個 [產生] 資料列的下拉清單中,選取 [是 (/DEBUG)]。 進行偵錯時,一律要設定這個選項。

    如需詳細資訊,請參閱 C++ 偵錯組態的專案設定

    本主題內容