.net里Release的pdb文件是否有用、有什么用?(整理及编辑)

本文详细介绍了PDB文件在Visual Studio中的功能与用途,包括其在Debug与Release模式下的不同形式,以及如何在项目属性中设置以生成或禁用PDB文件。同时,提供了Visual Studio中常见文件后缀名的解析,帮助开发者更好地理解和管理项目文件。
摘要由CSDN通过智能技术生成
 

PDB

英文全称:Program Database File

中文全称:程序数据库 文件

问:Debug里有pdb,Release里也有pdb,他们有什么不同呢?为什么很多人都不喜欢pdb,欲除之而后快?

答:
Debug里的PDB是full,保存着调试和项目状态信息、有断言、堆栈检查等代码。
Release 里的PDB是pdb-only,基本上:出什么错了+错误在哪行。

因为很多人把PDB理解成:调试文件、Program Debug Database、会泄露代码机密,所以想将其删除,那只要在VS的 项目-->生成-->高级-->调试信息-->None便可

 

MSDN官方介绍:http://msdn.microsoft.com/zh-cn/library/ms241903.aspx

 

一句话: 调试程序用

详细点(copy过来的,将就着看吧):
visual studio 调试需要pdb文件
在vs2005中新建了一个解决方案配置,但输出的dll去不能调试
原来是vs在生成dll时没有生成pdb文件,msdn上对pdb文件的描述是:
DBG 文件是可移植可执行 (PE) 格式文件,该文件包含 Visual Studio 调试器的 Codeview 格式的调试信息(也可能是其他格式,视 DBG 的创建方式而定)。当没有某些代码的源(如库或 Windows API)时,DBG 文件允许调试。DBG 文件还允许执行 OLE RPC 调试。
DBG 文件已经由 PDB 文件替代,PDB 文件现在更常用于调试。
但是怎么生成pdb文件呢,命令行命令是/DEBUG
如何让vs在生成dll时一并生成pdb文件,需要设置对应项目的调试信息为full或pdb-only,当设为none时就不生成pdb文件了
项目调试信息的设置位置在:项目属性>生成>高级>调试信息 

不过这种东西知不知道无所谓,微软做事就是这样,用着很方便,但你一旦要研究,就会发现他生成的东西多得跟shi一样的,看着都dan疼......

 

 
查看文章
  
visual studio里的文件后辍名解析。
2008-09-15 10:00

 

禁止Visual Studio编译时生成.vshost.exe、.pdb等文件

项目名称-->>右键-->>属性-->>调试-->>启用Visual Studio承载进程
把勾去掉即可

VS2005 在Release模式上实现了一些“特性”,默认会输出.pdb(Program Debug Database) 文件。 要恢复“Release”模式的本来面目,需要对每个project的属性进行一些设置:
 
Properties -> Build ->
1. Configuration :选为 Release
2. Advanced - > Debug Info :默认为“Full”,这就是所谓的新特性。把它设为Null,就是传统的Release模式了,即不包含任何debug信息。当然,也可以选择“pdb only”,不知道和“Full”有什么区别。。。。

=====================================================================

 

 

 

 

LINK       uses     a     PDB     to     hold     debugging     information     for     the     .EXE     file     or     .DLL     file.     The     program’s     PDB     is     both     an     output     file     and     an     input     file,     because     LINK     updates     the     PDB     when     it     rebuilds     the     program.   
    
    The     compiler     saves     state     information     from     the     first     compile     in     the     project’s     .IDB     file     (the     default     name     is     project.IDB     or     VC60.IDB     for     files     compiled     without     a     project).     The     compiler     uses     this     state     information     to     speed     subsequent     compiles.     
    
    If     the     compiler     cannot     find     the     project’s     .PDB     file     or     .IDB     file     (or     either     is     read-only),     it     cannot     incrementally     compile   

.clw文件记录了类的信息,如果classView中某个类不见了,重新生成该文件就可以了,方法:删除此文件,点击“建立类向导”,根据提示输入工程名称就可以了;
.ncb文件记录了类的提示信息,如果类的成员函数和变量的提示不见了,重新生成该文件即可,方法同上;
.aps文件记录了资源信息,要利用现成的资源,需要修改3个文件,.rc文件,Resource.h文件和.aps文件,.aps直接删除后,进入程序,VC会自动生成。

.APS:存放二进制资源的中间文件,VC把当前资源文件转换成二进制格式,并存放在APS文件中,以加快资源装载速度。资源辅助文件

.BMP
:位图资源文件

.BSC:浏览信息文件,由浏览信息维护工具(BSCMAKE)从原始浏览信息文件(.SBR)中生成,BSC文件可以用来在源代码编辑窗口中进行快速定位。用于浏览项目信息的,如果用source brower的话就必须有这个文件。可以在project options里去掉Generate Browse Info File,这样可以加快编译进度。

.C:用C语言编写的源代码文件

.CLW:ClassWizard生成的用来存放类信息的文件classwizard信息文件,ini文件的格式。

.CNT:用来定义帮助文件中“Contents”的结构。

.CPP或.CXX:用C++语言编写的源代码文件

.CUR:光标资源文件

.DEF:模块定义文件,供生成动态链接库时使用。

.DLG
:定义对话框资源的独立文件。这种文件对于VC工程来说并非必需,因为VC一般把对话框资源放在.RC资源定义文件中。

.DSP:VC开发环境生成的工程文件,VC4及以前版本使用MAK文件来定义工程。项目文件,文本格式。

.DSW:VC开发环境生成的WorkSpace文件,用来把多个工程组织到一个WorkSpace中。工作区文件,与.dsp差不多。

.EXP:由LIB工具从DEF文件生成的输出文件,其中包含了函数和数据项目的输出信息,LINK工具将使用EXP文件来创建动态链接库。只有在编译DLL时才会生成,记录了DLL文件中的一些信息。

.H、.HPP或.HXX:用C/C++语言编写的头文件,通常用来定义数据类型,声明变量、函数、结构和类。

.HLP:Windows帮助文件

.HM:在Help工程中,该文件定义了帮助文件与对话框、菜单或其它资源之间ID值的对应关系。

.HPJ:由Help Workshop生成的Help工程文件,用来控制Help文件的生成过程。

.HPG,生成帮助的文件的工程。

.ICO:图标资源文件

.ILK:连接过程中生成的一种中间文件,只供LINK工具使用。

.INI
:配置文件

.LIB:库文件,LINK工具将使用它来连接各种输入库,以便最终生成EXE文件

.LIC
:用户许可证书文件,使用某些ActiveX控件时需要该文件

.MAK:即MAKE文件,VC4及以前版本使用的工程文件,用来指定如何建立一个工程,VC6把MAK文件转换成DSP文件来处理。

.MAP:由LINK工具生成的一种文本文件,其中包含有被连接的程序的某些信息,例如程序中的组信息和公共符号信息等。执行文件的映像信息记录文件

.MDP:旧版本的项目文件,相当于.dsp

.NCB:NCB是“No Compile Browser”的缩写,其中存放了供ClassView、WizardBar和Component Gallery使用的信息,由VC开发环境自动生成。无编译浏览文件。当自动完成功能出问题时可以删除此文件。编译工程后会自动生成。

.OBJ:由编译器或汇编工具生成的目标文件,是模块的二进制中间文件

.ODL:用对象描述语言编写的源代码文件,VC用它来生成TLB文件

.OLB:带有类型库资源的一种特殊的动态链接库,也叫对象库文件

.OPT:VC开发环境自动生成的用来存放WorkSpace中各种选项的文件。工程关于开发环境的参数文件。如工具条位置信息等。

.PBI、.PBO和.PBT
:由VC的性能分析工具PROFILE生成并使用的三种文件

.PCH:预编译头文件,比较大,由编译器在建立工程时自动生成,其中存放有工程中已经编译的部分代码,在以后建立工程时不再重新编译这些代码,以便加快整个编译过程的速度。

.PDB:程序数据库文件,在建立工程时自动生成,其中存放程序的各种信息,用来加快调试过程的速度。记录了程序有关的一些数据和调试信息。

.PLG:编译信息文件,编译时的error和warning信息文件

.RC:资源定义文件

.RC2:资源定义文件,供一些特殊情况下使用。

.REG:注册表信息文件

.RES:二进制资源文件,资源编译器编译资源定义文件后即生成RES文件

.RTF:Rich Text Format(丰富文本格式)文档,可由Word或写字板来创建,常被用来生成Help文件

.SBR:VC编译器为每个OBJ文件生成的原始浏览信息文件,浏览信息维护工具(BSCMAKE)将利用SBR文件来生成BSC文件

.TLB:OLE库文件,其中存放了OLE自动化对象的数据类型、模块和接口定义,自动化服务器通过TLB文件就能了解自动化对象的使用方法。

.WAV:声音资源文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值