pdb的文件组成

pdb的文件组成,第1张

PDB文件物理结构如下图所示:

PDB文件的逻辑结构如下图所示:

PDB文件的结构是由下面几个部分组成的:

数据库头部(Database Header)

记录入口列表(List of Record Entries)

应用信息块(AppInfo Block)(可选)

排序信息块(SortInfo Block)(可选)

数据库记录信息(Sequence of raw record data)

其中在数据库头部结构中,确定了应用信息块(AppInfo Block)和排序信息块(SortInfo Block)的位置信息。记录入口列表中确定了所有记录的位置相关的信息。

其中数据库头部的长度是固定的。应用信息块和排序信息块可有可无,而且尺寸也不确定,在很多结构简单的PDB文件中,没有该部分信息,本文中将不再详细阐述。记录入口列表的长度也随着纪录数量的变化发生变化。

VS2012每次编译程序,都会出现3个无法查找或打开PDB文件,是设置错误造成的,解决方法如下:

1、首先在电脑中打开vs编程软件,在菜单栏上找到“工具”---》“选项”。

2、然后在打开的选项设置界面中,找到调试的功能选项。

3、在调试的选项里,展开后,可以看到调试符号的子选项。

4、在右边可以看到“符号文件(pdb)的位置”的字样,给“MicroSoft符号服务器”打勾,如下图所示,点击确定保存退出。

5、最后在主界面,可以看到正在从microsoft服务器下载pdb符号文件,vs也正在加载这些符号文件,等待一会就完成了。

使用

/Zi

选项编译的对象

(obj)

文件包含程序数据库

(PDB)

的名称。不将对象的

PDB

文件名指定给链接器;如果需要,LINK

使用嵌入的名称查找

PDB。这同样适用于库中包含的可调试对象;可调试库的

PDB

必须可用于链接器和该库。

LINK

还使用

PDB

保存

exe

文件或

dll

文件的调试信息。程序的

PDB

既是输出文件也是输入文件,因为

LINK

在重新生成程序时更新

PDB。

有时候,我们使用 VS(Visual Studio)编译程序时会出现“无法查找或打开PDB文件”的提示,并且此时程序会生成失败,无法运行,如下图所示:

大家不要惊慌,出现这种提示并不是代码写错了,而是编译器设置的问题,改一下设置就 OK 了。

先说一下PDB文件是什么

当程序在 VS 上编译时,程序所依赖的所有动态链接库(dll 文件)也会被编译,编译过程中每个 dll 都会产生一个pdb文件,又称为“符号文件”,是一个存储数据的信息文件,其包含 dll 库在编译过程的某些调试信息,例如程序中所用到的全局变量、局部变量、函数名以及他们的入口地址等。

pdb 文件主要用于调试程序,多用于当VS中有多个项目,且项目之间互有依赖关系时,使用pdb文件调试程序,往往会事半功倍,初学者一般不会用到。

当使用VS 调试程序时,会默认加载你的程序以及程序依赖的dll库产生的所有pdb文件,但是结果往往是VS自己找不到依赖库的pdb文件,于是就提示给你“无法查找或打开pdb文件”。

如何修复这个错误

我们可以通过对 VS 做适当的设置,使之能够查找到相应的 PDB 文件,具体步骤如下(这里我们以 VS2017 为例进行说明,其它版本的 VS 操作步骤也一样)。

1) 选择菜单栏中的“调试  --> 选项”,如下图所示:

2) 弹出“选项”对话框后,选择“调试 --> 常规”,在右侧选项栏中勾选“启用源服务器支持”(包含的 3 个子选项不用勾选),此时会弹出一个安全警报框,选择“是”即可,如下图所示:

3) 还是在“选项”对话框中,选择“调试 --> 符号”,在右侧选项栏中勾选“Microsoft符号服务器”,此时会弹出一个提示对话框,点击“确定”即可。同时,对于缓存符号的目录,选择图示中的目录即可:

4) 确定之后,重新运行你的程序,首次运行时,由于编译器会加载所有动态链接库的pdb文件,可能会等到几秒钟。程序运行后,之前输出窗口中的“无法查找或打开pdb文件”的提示不见了,如下图所示:

如上图所示,由于pdb文件,又名“符号文件”,所以“已加载符号”,也就是成功加载了动态链接库对应的pdb文件。

早期的PowerBuilder编译生成的动态链接库的后缀名是PDB,

但后来PowerDesigner出来后,它的物理模型图(数据表结构)文件后缀名是PDM,但同时它会生成这个文件的备份文件,就是后缀名为PDB的文件。附文件名意思:

PDB PowerBuilder Dynamic Library

PDB PowerDesigner Physical Model Backup

PDM Sybase Power Designer File

以上就是关于pdb的文件组成全部的内容,包括:pdb的文件组成、VS2012 每次编译程序都会出现3个无法查找或打开 PDB 文件。、谁知道VC产生的程序数据库 (PDB) 文件有什么用什么时候用怎么用等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:聚客百科

原文地址: https://juke.outofmemory.cn/life/3792641.html

()
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存