Microsoft Visual Studio PDB文件相关事宜

Posted 浩月星空

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Microsoft Visual Studio PDB文件相关事宜相关的知识,希望对你有一定的参考价值。

Microsoft Visual Studio PDB:调试的符号文件,程序数据库 (PDB) 文件保存着调试和项目状态信息,使用这些信息可以对程序的调试配置;

  当以 /ZI 或 /Zi(用于 C/C++)生成时,将创建一个 PDB 文件。

  在 Visual C++ 中,/Fd 选项用于命名由编译器创建的PDB 文件。

  当使用向导在Visual Studio 中创建项目时,/Fd 选项被设置为创建一个名为 project.PDB 的 PDB。

  如果使用生成文件创建 C/C++ 应用程序,并指定 /ZI 或 /Zi 而不指定 /Fd 时,则最终将生成两个 PDB 文件:*VC80.PDB (更笼统地说就是 VCx0.PDB,其中 x 表示 Visual C++ 的版本。)

该文件存储各个 OBJ 文件的所有调试信息并与项目生成文件驻留在同一个目录中。*project.PDB 该文件存储 .exe 文件的所有调试信息。

对于C/C++,它驻留在 \debug 子目录中。每当创建 OBJ 文件时,C/C++ 编译器都将调试信息合并到 VCx0.PDB 中。插入的信息包括类型信息,但不包括函数定义等符号信息。因此,即使每个源文件都包含公共头文件(如 <windows.h>),这些头文件中的 typedef 也只存储一次,而不是在每个 OBJ 文件中都存在。链接器将创建 project.PDB,它包含项目的 EXE 文件的调试信息。project.PDB文件包含完整的调试信息(包括函数原型),而不仅仅是在 VCx0.PDB 中找到的类型信息。这两个 PDB 文件都允许增量更新。链接器还在其创建的 .exe 或 .dll 文件中嵌入 .pdb 文件的路径。

  Visual Studio 调试器使用 EXE 或 DLL 文件中的PDB 路径查找 project.PDB 文件。

  如果调试器在该位置无法找到 PDB 文件或者如果路径无效(例如,如果项目被移动到了另一台计算机上),调试器将搜索包含 EXE 的路径,即在“选项”对话框(“调试”文件夹,“符号”节点)中指定的符号路径。

调试器不会加载与所调试的二进制不匹配的 PDB。

以上是关于Microsoft Visual Studio PDB文件相关事宜的主要内容,如果未能解决你的问题,请参考以下文章

怎么用microsoft visual studio制作一个选择题

microsoft visual studio软件怎样把游戏导出来

用microsoft visual studio 2008执行C语言出现栈溢出怎么解决?

Visual Studio 2017 离线安装包

如何提高Visual Studio编译速度

Microsoft visual c++弹窗?