當前位置:編程學習大全網 - 遊戲軟體 - pdb文件是什麽?

pdb文件是什麽?

程序數據庫 (PDB) 文件保存著調試和項目狀態信息,使用這些信息可以對程序的調試配置進行增量鏈接。當用 /ZI 或 /Zi 編譯 C/C++ 程序時或用 /debug 編譯 Visual Basic/C#/JScript .NET 程序時將創建 PDB 文件。

在 Visual C++ 中,/Fd 選項用於命名由編譯器創建的 PDB 文件。當在 Visual Studio 中使用向導創建項目時,/Fd 選項被設置為創建名為 project.PDB 的 PDB 文件。

如果使用生成文件創建 C/C++ 應用程序,並指定 /ZI 或 /Zi 而不指定 /Fd 時,則最終將生成兩個 PDB 文件:

VC70.PDB (更籠統地說就是 VCx0.PDB,其中 x 表示 Visual C++ 的版本。)該文件存儲各個 OBJ 文件的所有調試信息並與項目生成文件駐留在同壹個目錄中。

project.PDB 該文件存儲 .exe 文件的所有調試信息。對於本機代碼,它駐留在 \debug 子目錄中。對於托管代碼,它駐留在 \WINDEBUG 子目錄中。

每當創建 OBJ 文件時,C/C++ 編譯器都將調試信息合並到 VCx0.PBD 中。插入的信息包括類型信息,但不包括函數定義等符號信息。因此,即使每個源文件都包含公***頭文件(如 <windows.h>),這些頭文件中的 typedef 也只存儲壹次,而不是在每個 OBJ 文件中都存在。

鏈接器將創建 project.PDB,它包含項目的 EXE 文件的調試信息。project.PDB 包含完整的調試信息(包括函數原型),而不僅僅是 VCx0.PDB 中的類型信息。這兩個 PDB 文件都允許增量更新。

Visual Studio 調試器使用由鏈接器直接創建的 project.PDB 文件並將此 PDB 的絕對路徑嵌入到 EXE 或 DLL 文件中。如果調試器在該位置無法找到 PDB 文件或者如果路徑無效(例如,如果項目被移動到了另壹臺計算機上),調試器將搜索包含 EXE 的路徑,即在解決方案的“屬性頁”中指定的“符號路徑”(“調試符號文件”頁 ->“通用屬性”文件夾)。調試器不會加載與所調試的二進制不匹配的 PDB。

摟主看看幫助先,自己找答案也是很有樂趣的。

  • 上一篇:我用dedecms建了個網站,想更換壹下模板,具體怎麽操作。新手,求詳解
  • 下一篇:卡其色羊絨大衣怎麽搭配圖片
  • copyright 2024編程學習大全網