程序数据库 (PDB) 文件保存着调试和项目状态信息,使用这些信息可以对程序的调试配置进行增量链接。当以 /ZI 或 /Zi(用于 C/C++)生成时,将创建一个 PDB 文件。

在 Visual C++ 中,/Fd 选项用于命名由编译器创建的 PDB 文件。当使用向导在 Visual Studio 中创建项目时,/Fd 选项被设置为创建一个名为 project.PDB 的 PDB。

如果使用生成文件创建 C/C++ 应用程序,并指定 /ZI 或 /Zi 而不指定 /Fd 时,则最终将生成两个 PDB 文件:

VC80.PDB (更笼统地说就是 VCx0.PDB,其中 x 表示 Visual C++ 的版本。)该文件存储各个 OBJ 文件的所有调试信息并与项目生成文件驻留在同一个目录中。

project.PDB 该文件存储 .exe 文件的所有调试信息。对于本机 C/C++代码,它驻留在 \debug 子目录中。对于托管代码,它驻留在 \WINDEBUG 子目录中。

每当创建 OBJ 文件时,C/C++ 编译器都将调试信息合并到 VCx0.PDB 中。插入的信息包括类型信息,但不包括函数定义等符号信息。因此,即使每个源文件都包含公共头文件(如 <windows.h>),这些头文件中的 typedef 也只存储一次,而不是在每个 OBJ 文件中都存在。

链接器将创建 project.PDB,它包含项目的 EXE 文件的调试信息。project.PDB 文件包含完整的调试信息(包括函数原型),而不仅仅是在 VCx0.PDB 中找到的类型信息。这两个 PDB 文件都允许增量更新。链接器还在其创建的 .exe 或 .dll 文件中嵌入 .pdb 文件的路径。

Visual Studio 调试器使用 EXE 或 DLL 文件中的 PDB 路径查找 project.PDB 文件。如果调试器在该位置无法找到 PDB 文件或者如果路径无效(例如,如果项目被移动到了另一台计算机上),调试器将搜索包含 EXE 的路径,即在“选项”对话框(“调试”文件夹,“符号”节点)中指定的符号路径。调试器不会加载与所调试的二进制不匹配的 PDB。pdb文件及其作用

pdb文件及其作用(转)相关推荐

  1. c语言pdb文件,VISUAL c+中的pdb文件及其作用

    VISUAL c+中的pdb文件及其作用 程序数据库 (PDB) 文件保存着调试和项目状态信息,使用这些信息可以对程序的调试配置进行增量链接.当以 /ZI 或 /Zi(用于 C/C++)生成时,将创建 ...

  2. vs2010 利用DMP文件、pdb文件查找release下的异常行号的方法

    2018-01-12 创建人:Ruo_Xiao 开发环境:Windows7,VS2010,WinDbg 6.12. 一.源码 #include "stdafx.h" #includ ...

  3. 根据Uniprot ID/PDB ID批处理获取蛋白质.pdb文件

    1.根据Uniprot ID批处理获取蛋白质.pdb文件 由于Uniprot的ID号可能对应多个NCBI的ID,但是根据Alphafold可以获取其唯一的PDB文件,所以用代码批处理获得.pdb文件如 ...

  4. 说说Debug文件夹下的.pdb文件

    .PDB文件,全称为"程序数据库"文件.我们使用它(更确切的说是看到它被应用)大多数场景是调试应用程序.目前我们对.PDB文件的普遍认知是它存储了被编译文件的调试信息,作为符号文件 ...

  5. pdb文件及引发的思考

    最初只想知道线上iis里需要不需要pdb文件,了解部分之后对于.net底层产生了浓厚的兴趣,看了一点点资料 资料来源: https://www.cnblogs.com/itech/archive/20 ...

  6. lib vs 生成pdb_「pdb文件」VS PDB文件详解 - seo实验室

    pdb文件 转自https://blog.csdn.net/feihe0755/article/details/54233714 PDB(Program Data Base),意即程序的基本数据,是V ...

  7. VS PDB文件详解

    转自https://blog.csdn.net/feihe0755/article/details/54233714 PDB文件的介绍 PDB(Program Data Base),意即程序的基本数据 ...

  8. vc 运行不了pdb文件什么鬼_PDB是什么文件_PDB文件怎么打开_PDB文件能删吗

    PDB是什么文件?一些用户在操作电脑的时候,可能会碰到后缀名为.pdb的文件,该文件是程序数据库文件,相信很多用户对于PDB文件都不了解,下面小编将给大家科普下PDB文件知识,请大家耐心阅读下文. P ...

  9. pdb文件 PDB文件:每个开发人员都必须知道的 .NET PDB文件到底是什么?

    pdb文件包含了编译后程序指向源代码的位置信息,用于调试的时候定位到源代码,主要是用来方便调试的. 在程序发布为release模式时,建议将 pdb文件删除, 同时,对外发布的时候,也把 pdb删除, ...

最新文章

  1. 网站发布外链如何防止后期被删除?
  2. PAT 乙级 1041 考试座位号
  3. LeetCode 397. 整数替换(递归 贪心)
  4. 脏牛Linux本地提权漏洞复现(CVE-2016-5195、Linux、Android、提权)
  5. Entity Framework 6新特性:全局性地自定义Code First约定
  6. caffe使用预训练的模型进行finetune
  7. Spring框架学习之SpringAOP(二)
  8. centos下valgrind的安装与使用
  9. Pytorch-OpCounter: Pytorch平台计算模型#Parameters和FLOPS的工具包
  10. 2021-05-17 吾日三省吾身
  11. 使用标准测试函数测试全套 MATLAB 优化算法
  12. 前端预览PDF:PDFObject、PDF.js
  13. xyz文件怎么生成三维模型_根据三维空间坐标点如何构建三维模型
  14. Renascence架构简介
  15. Win10系统电脑声卡驱动正常但没声音?驱动人生解决方案
  16. 在Linux如何搭建Oracle11g Data Guard
  17. 当使用广告拦截器时,有些页面无法查看,应该怎样解决?
  18. 互联网2B和2C的区别
  19. 啊哈C——学习2.10一起来找茬
  20. Neat Converter格式转换

热门文章

  1. 防火墙的基础配置(一)
  2. 卷积神经网络 CNN 简述
  3. 伤害你的,是你对事情的看法
  4. 电商优惠券,优惠码的生成
  5. 【机器学习】EM 算法
  6. Matlab将散点绘制为平滑曲线的两种方法
  7. MAX7219产品级驱动分享
  8. leetcode-cpp 535.TinyURL的加密和解密
  9. 【jQuery】实现跑马灯
  10. HTML JavaScript