偵錯準備:Visual C++ 專案類型
本節說明如何對 Visual C++ 專案範本所建立的基本專案類型進行偵錯。
請注意,這些會建立 DLL 為輸出的專案類型,因為共用通用功能而分類為偵錯 DLL 專案。
本主題內容
建議的屬性設定
Win32 專案
若要偵錯 C 或 C++ Win32 應用程式
若要手動設定偵錯組態
Windows Form 應用程式 (.NET)
建議的屬性設定
在所有 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 應用程式
在 Visual Studio 中開啟專案。
在 [偵錯] 功能表上選擇 [啟動]。
使用偵錯工具資料表中所探討的技巧進行偵錯。
若要手動設定偵錯組態
在 [檢視] 功能表上按一下 [屬性頁]。
如果已經存在,而不是按一下 [組態屬性] 節點將它打開
選取 [一般],並將 [輸出] 列的值設定為 [偵錯]。
開啟 [C/C++] 節點,並選取 [一般]。
在 [偵錯] 列中,指定您希望編譯器產生的偵錯資訊類型。 您可能選擇的值包括 [程式資料庫 (/Zi)] 或 [編輯後繼續的程式資料庫 (/ZI)]。
選取 [最佳化],並在 [最佳化] 列的下拉清單中,選取 [停用 (/0d)]。
最佳化程式碼較難偵錯,因為產生的指令不能直接對應到您的原始程式碼。 如果您發現程式含有僅出現在最佳化程式碼中的錯誤,您可以啟動這個設定,但是請記住,顯示在 [反組譯碼] 視窗裡的程式碼是由最佳化原始程式碼所產生,可能無法對應至您在原始程式碼視窗所看到的內容。 逐步執行之類的功能,可能無法正確顯示中斷點和執行點。
開啟 [連結器] 節點,並選擇 [偵錯]。 在第一個 [產生] 資料列的下拉清單中,選取 [是 (/DEBUG)]。 進行偵錯時,一律要設定這個選項。
如需詳細資訊,請參閱 C++ 偵錯組態的專案設定。
Windows Form 應用程式 (.NET)
[Windows Form 應用程式 (.NET)] 範本建立 Visual C++ Windows Form 應用程式。 如需詳細資訊,請參閱HOW TO:建立新的 Windows Form 應用程式專案。
在 Visual Studio 中偵錯這種類型的應用程式,與偵錯 Managed Windows Form 應用程式類似。
當您以專案範本建立 Windows Form 專案時,Visual Studio 會自動建立偵錯和發行組態所需的設定。 如果有必要,您可以在 [<專案名稱> 屬性頁] 對話方塊中變更這些設定。 如需詳細資訊,請參閱偵錯和發行組態。
如需詳細資訊,請參閱C++ 偵錯組態的專案設定。
偵錯 Windows Form 應用程式的另一種方法,是在 Visual Studio 外啟動應用程式並且附加於其上。 如需詳細資訊,請參閱附加至正在執行的程式或多個程式。
請參閱
工作
HOW TO:建立新的 Windows Form 應用程式專案