当前位置:主页 > 深度系统教程 > pdb是什么文件?pdb数据库文件如何打开?

pdb是什么文件?pdb数据库文件如何打开?

发布日期:2017-06-05    作者:深度技术    来 源:http://www.sdgho.com

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。TFs207中可以很容易地完成对一个新的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



上述便是相关pdB文件的一些关于信息了,但愿上述介绍对大家有协助。

本站发布的系统与软件仅为个人学习测试使用,不得用于任何商业用途,否则后果自负,请支持购买微软正版软件!

深度系统官网如果有侵犯您的资源,请来信告知,我们将及时处理。 Copyright 2022 深度系统教程

2