? ? ? 最近工作中的一個測試工具在測試多臺設備上使用過程中閃退,存了dump,但因為是release版本,沒有pdb,無法根據dump定位代碼哪塊出了問題,很苦惱,查了下怎么加pdb生成,記錄一下。以下是具體的設置步驟:
1.打開項目屬性頁
在解決方案資源管理器中,右鍵單擊你的項目,然后選擇 “屬性”。
2.選擇 Release 配置
在屬性頁的左上角,將 “配置” 下拉框選擇為 “Release”。
3.配置生成 PDB 文件
- C/C++ 項目:
- 展開 “配置屬性” -> “C/C++” -> “調試信息格式”。
- 將 “調試信息格式” 設置為 “程序數據庫 (/Zi)” 或者 “編輯并繼續的程序數據庫 (/ZI)”(后者支持編輯并繼續調試)。
- C# 項目:
- 展開 “配置屬性” -> “生成”。
- 勾選 “高級” 按鈕,在 “調試信息” 下拉框中選擇 “pdb-only” 或者 “full”。“pdb-only” 僅生成 PDB 文件,“full” 還會在 DLL 或 EXE 中嵌入一些調試信息。
4.配置 PDB 文件輸出路徑
你可以指定 PDB 文件的輸出路徑,這有助于組織項目文件。
- C/C++ 項目:
- 展開 “配置屬性” -> “鏈接器” -> “調試”。
- 在 “生成調試信息” 選項中,確保選擇了 “是 (/DEBUG)”。
- 在 “程序數據庫文件名” 中,可以指定 PDB 文件的輸出路徑和文件名,例如?
$(OutDir)$(TargetName).pdb
。
- C# 項目:
- 在 “高級” 設置中,“調試信息” 設置好后,PDB 文件會默認生成在與輸出文件相同的目錄下。如果你想更改路徑,可以通過修改項目文件(.csproj)手動指定。
5.應用設置并重新生成項目
點擊 “應用” 和 “確定” 保存設置,然后重新生成你的項目(“生成” -> “重新生成解決方案”)。這樣,在 Release 配置下生成的可執行文件或庫文件就會伴隨著相應的 PDB 文件。