mysql的pdb文件在哪里_pdb是什么文件?pdb数据库文件怎么打开?

PDB是什么文件?很多开发人员发现在生成类库项目时除了生成dll文件外,还会生成一个同名的pdb文件,它是一个程序数据库文件,保存着调试和项目状态信息,使用这些信息可以对程序的调试配置进行增量链接。 理解:pdb文件包含了编译后程序指向源代码的位置信息,用于调试的时候定位到源代码,主要是用来方便调试的。如果你对pdb是什么文件还不是很清楚,可以阅读下面的文章,还有pdb数据库文件怎么打开。

pdb是什么文件?

大部分的开发人员应该都知道PDB文件是用来帮助软件的调试的。但是他究竟是如何工作的呢,我们可能并不熟悉。本文描述了PDB文件的存储和内容。同时还描 述了debugger如何找到binay相应的PDB文件,以及debugger如何找到与binay对应的源代码文件。本文适用于所有的Native和 Managed的开发人员。

在开始前,我们先定义2个术语:private build, 用来表示在开发人员自己机器上生成的build;public build,表示在公用的build机器上生成的build。private build相对来说比较简单,因为PDB和binay在相同的地方,通常地我们遇到的问题都是关于public build。

所有的的开发人员需要知道的最重要的事情是”PDB文件跟源代码同样的重要“, 没有PDB文件,你甚至不能debugging。对于public build,需要symbol server存储所有的PDB,然后当用户报告错误的时候,debugger才可以自动地找到binay相应的PDB文件, visual studio 和 windbg都知道如何访问symbol server。在将PDB和binay存储到symbol server前,还需要对PDB运行进行source indexing, source indexing的作用是将PDB和source关联起来。

接下来的部分假设有已经设置好了symbol server和source server indexing。TFS2010中可以很简单地完成对一个新的build的source indexing 和 symbol server copying。

pdb数据库文件怎么打开?

正式开始PDB的内容,PDB不是公开的文件格式,但是Microsoft提供了API来帮助从PDB中获取数据。

Native C++ PDB包含了如下的信息:

* public,private 和static函数地址;

* 全局变量的名字和地址;

* 参数和局部变量的名字和在堆栈的偏移量;

* class,structure 和数据的类型定义;

* Frame Pointer Omission 数据,用来在x86上的native堆栈的遍历;

* 源代码文件的名字和行数;

.NET PDB只包含了2部分信息:

* 源代码文件名字和行数;

* 和局部变量的名字;

* 所有的其他的数据都已经包含在了.NET Metadata中了;

如何在生成类库项目时不生成pdb文件?

打开类库项目属性页面→切换到生成选项卡→点击高级按钮→将调试信息一项设置为none

1be5a56ed9c0c12ec8d36ccaa90fee4b.png

以上就是关于PDB文件的一些相关信息了,希望以上教程对大家有帮助。

e58384f682cec9a8872e1900bb8572ad.png

b97a77ce5776633100a15d282e2a77a9.png

分享到:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值