在.net项目中生成的pdb是啥文件?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在.net项目中生成的pdb是啥文件?相关的知识,希望对你有一定的参考价值。

在.net项目中生成的pdb是程序数据库文件。

PDB文件是Palm OS操作系统上数据文件类型。一般我们在使用Palm系统的电子书时都会遇到这种文件,一般用于电子书或手机电子书 pdb是Palm DataBase的缩写,Palm OS所用文件的扩展名为“.pdb”。

可以使用PalmReader打开。如果想把PDB文件转换成TXT文件查看,可以使用WavePDB转。

PDB文件保持着调试和项目状态信息,从而可以对程序的调试配置进行增量链接。当用 /ZI ;或 /Zi ;编译 C/C++ ;程序时或用 /debug ;编译 Visual Basic/C# ;程序时将创建 PDB ;文件。

扩展资料

调试器加载PDB:

Visual Studio调试器假设PDB文件位于与DLL或EXE相同的文件夹下。每一次程序集编译生成唯一的PDB文件,这意味着,即使没有代码改变,也不能使用在以前的编译中创建的PDB文件。

调试器通过将PDB中的特定GUID与二进制的GUID进行比较,发现PDB是否跟二进制文件相匹配。这个Guid在编译过程中嵌入到二进制和PDB中,并将PDB与二进制文件紧密连接。

如果交付件的大小不是问题,最好将PDB和其他二进制文件一起部署,因为它有助于提供更多关于异常的信息。

参考资料来源:百度百科-pdb

参考技术A PDB:Program Debug Database(程序调试数据库)文件  
 PDB(程序调试数据库)文件保持着调试和项目状态信息,从而可以对程序的调试配置进行增量链接。当用 /ZI 或 /Zi 编译 C/C++ 程序时或用 /debug 编译 Visual Basic/C# 程序时将创建 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 子目录中。
参考技术B pdb文件包含了编译后程序指向源代码的位置信息,用于调试的时候定位到源代码,主要是用来方便调试的。

在程序发布为release模式时,建议将 pdb文件删除, 同时,对外发布的时候,也把 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。

搂主看看帮助先,自己找答案也是很有乐趣的。
参考技术A 下载个PDB文件阅读器就能看了、、、是文本、、 参考技术B PDB(Program Database File,程序数据库文件)文件物理结构在我们目前使用的掌上电脑中,Palm操作系统由于其功能强大、应用软件多等特点,占有很大的比例。PDB文件是Palm OS操作系统上数据文件类型。一般我们在使用Palm系统的电子书时都会遇到这种文件,一般用于电子书或手机电子书 pdb是Palm DataBase的缩写,Palm OS所用文件的扩展名为“.pdb”。还表示碳氧同位素标准样品以及可编程延迟模块,是DSP中的一种模块,可以用来计数和延时。
可以使用PalmReader打开。如果想把PDB文件转换成TXT文件查看,可以使用WavePDB转换。
参考技术C 下载 adobe reader 或者 超星阅览器 都行 参考技术D

首先,答主所说的PDB(Program Database File,程序数据库文件),明显是错误的好不好,你那全称再缩写就是PDF了。。。。PDB文件全称是Program Debug Database。哦后面的更是不知所云。。。。。。

以上是关于在.net项目中生成的pdb是啥文件?的主要内容,如果未能解决你的问题,请参考以下文章

Webpack 4 配置入口点和输出(每个项目文件夹中生成的dist文件夹)

派生数据中生成的未知文件夹

使用 Selenium 在页面的 onload() 中生成的 JavaScript 警报的解决方法是啥?

如何按照最初在 C++ 中生成的顺序从有界缓冲区中检索项目?

JSF 组件 ID 中生成的前缀 j_idt33 是啥?

如何使用 Xcode 工作区中生成的框架中的自定义字体