重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
程序数据库 (PDB) 文件保存着调试和项目状态信息,使用这些信息可以对程序的调试配置进行增量链接。 在使用 /debug 生成时,会创建一个 PDB 文件。 可以使用 /debug:full 或 /debug:pdbonly 生成应用程序。 使用 /debug:full 生成将产生可调试的代码。 使用 /debug:pdbonly 生成将产生 PDB,但是不会产生通知 JIT 编译态答空器调试信息可用的 DebuggableAttribute。 如果您想为不希望其成为可调试的发布版本生成 PDB,请使用 /debug:pdbonly。 有关更多信息,请参见 /debug (C# 编译器选项)或 /debug (Visual Basic)。 Visual Studio 调试器使用 EXE 或 DLL 文件中的 PDB 路径查找 project.pdb 文件。 如果调试器无法举扰在该位置找到 PDB 文件,或者该路径无效,调试器将先搜索包含 EXE 的路径,然后搜索“选项”对话框中指定的符号路径。 该路径通常是“符号”节点中的“调试”文件夹。 如果调试器无法找到 .PDB 文件,则显示“查找符号”对话框,这将允许您搜索符号或向搜索路径添加其他位置。 Debug里的PDB是full,保存着调试和项目状态信息、有断言、堆栈检查等代码。 Release 里的PDB是pdb-only,基本上:出什么错了+错误在哪行。因为很多人把PDB理解成:调试帆瞎文件、Program Debug Database、会泄露代码机密,所以想将其删除,那只要在VS的 项目--生成--高级--调试信息--None便可重要事项调试器只会为二进制文件加载与该二进制文件生成之时所创建的 PDB 完全相符的 PDB。 就是说,该 PDB 必须是原 PDB 或其副本。 因为编译器在创建二进制文件时会考虑多种因素,所以,即使代码自身没有变化,二进制文件的实际布局也可能会有变化。
站在用户的角度思考问题,与客户深入沟通,找到安源网站设计与安源网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都网站制作、成都做网站、企业官网、英文网站、手机端网站、网站推广、申请域名、网站空间、企业邮箱。业务覆盖安源地区。
引用MicrosoftDAO3.6ObjectLibraryPublicFunctionDaoOpenDB(ByValpDbTypeAsString,ByValpDbNameAsString,ByValpMdbCnctAsString)AsIntegerOnErrorGoToErr_HandlerDimm_DbDataBaseAsDAO.DatabaseDimgwsMainworkSpaceAsDAO.WorkspaceDimDAODBEngineAsNewDAO.DBEngine()Dimm_DbWkSpace=DAODBEngine.CreateWorkspace("","Admin","")IfpDbType="银皮喊c_ACCESS"Then'Accessm_DbDataBase=m_DbWkSpace.OpenDatabase(pDbName)Else'Oraclem_DbDataBase=m_DbWkSpace.OpenDatabase(pDbName,True,False,pMdbCnct)EndIfDaoOpenDB=c_OK'你在全局握旅中已定义锋野ExitFunctionErr_Handler:DaoOpenDB=c_NG'你在全局中已定义MsgBox(Err.Description,MsgBoxStyle.OkOnly+MsgBoxStyle.Critical,"Err")EndFunction
在点虐 项目中生成的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
程序数据库 (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。
搂主看看帮助先,自己找答案也是很有乐趣的。