`
lua
  • 浏览: 76382 次
  • 性别: Icon_minigender_1
  • 来自: 大连
文章分类
社区版块
存档分类
最新评论

VC2008正确建立PDB文件

阅读更多

http://sunxiunan.com/?p=1300

 

刚写完一个CST问题的教训 ,发现John Robbins大牛最近也写了一篇博客《Correctly Creating Native C++ Release Build PDBs 》(正确地建立原生C++Release Build PDB文件),里面有不少说法跟我那篇文字近似。在这里再介绍一下John博客里面的大意。关于pdb文件的重要性,John也有另外一篇博客介绍PDB Files: What Every Developer Must Know ,感兴趣的同学可以去看看。

 

 

1)最重要的一点,任何一个项目一定要build时生成PDB文件,而且要根据不同的发布版本保存起来,这个对于以后的除错非常有用。

 

2)建立PDB文件基本上是这几个选项,a)在project setting的C++属性中,选择生成program database,或者直接手动加入/Zi选项,如果有/Z7,把它替换成/Zi。b)在link选项中选择Generate debug info,或者直接加入/debug选项,另外注意/pdb应该是类似/PDB:".\Release/yourproj.pdb"这样的,如果不是手动修改。

 

3)有的人会担心包含debug信息以后文件变大,修改link中这两个选项/OPT:REF和/OPT:ICF会减小最终生成的文件大小。在这里借用一下John Robbins的截图。

image

其实我在Windows下C++编程生成minidump文件 中也介绍过这两个参数。

分享到:
评论

相关推荐

    VC6.0对话框建立向导 ,如鹏vc开发对话框建立向导

    而"Win32 Dialog Warzard.pdb"是程序数据库文件,用于在开发过程中辅助调试,记录了编译时的类型信息和运行时的调试信息。 "使用说明.txt"文件,正如其名,应该包含了如何使用这个向导的详细步骤和注意事项,对于...

    VC文件后缀

    - 配合其他文件使用,确保帮助文件正确生成。 #### 18. .HPG:生成帮助文件的工程 - **用途**:定义生成帮助文件的过程。 - **特点**: - 确保帮助文件的内容准确无误。 #### 19. .ICO:图标资源文件 - **用途**...

    最新 php_memcache-3.0.8-5.5-ts-vc11-x64 用于 for php5.5 64位版本

    ...在本篇文章中,我们将深入探讨如何在64位PHP5.5环境下安装和使用"php_memcache-3.0.8-5.5-ts-vc11-x64"这一特定版本...正确安装和配置此扩展是优化应用程序的关键,同时理解其工作原理和使用方法也对开发者至关重要。

    使用VC++生成调试信息

    3. 编译项目后,可以在项目的输出目录下找到生成的.PDB文件。 #### 七、总结 调试信息是进行高效调试的关键所在。通过理解和利用不同类型的调试信息及其存储格式,开发者可以更加高效地定位和修复程序中的问题。在...

    php_memcache-4.0.5.2-7.3-nts-vc15-x64.zip

    - `php_memcache.pdb`: 这是PHP扩展的调试信息文件,对于开发和调试是很有帮助的。 - `README`: 提供了关于如何使用和配置扩展的简要指南。 总的来说,Memcache扩展为PHP提供了一种有效且高效的缓存解决方案,有助...

    php_oci8-2.0.10-56

    标题 "php_oci8-2.0.10-56" 暗示这是一个针对 PHP 的 OCI8 扩展的特定版本,版本号为 2.0.10,适用于 ...在安装过程中,遵循 `README` 文件中的指南,确保正确配置所有必要的环境变量和依赖,以保证扩展的正常工作。

    通过设备接口打开设备详细步骤.pdf

    最后,需要修改 VC 的 lib 名,以便在编译和链接时使用正确的库文件。 本文详细介绍了通过设备接口打开设备的详细步骤,包括驱动程序框架的创建、编译选项的设置、链接库的设置等。这些步骤对于开发驱动程序非常...

    VC调试技术

    - **Program Database**:生成存储程序信息的.PDB文件,包含类型信息和符号化的调试信息。 - **Line Numbers Only**:仅包含全局和外部符号以及行号信息。 - **C7 Compatible**:生成包含行号信息及符号化调试信息的...

    VC快捷键以及调试方法

    - 其他文件如 .aps、.clw、.hpj、.mdp、.bsc、.map、.pch、.pdb、.exp 分别用于资源辅助、ClassWizard 信息、帮助文件、旧版项目、浏览信息、映像信息、预编译头文件、程序数据库和动态链接库信息。 10. **文本...

    windows10 64位下 Qt5.9.1已生成好的oracle12c64位oci

    9. qsqloci.pdb:同上,但可能是针对不同库的pdb文件。 为了在Qt5.9.1中使用这些oci库,你需要进行以下步骤: 1. 将dll文件复制到应用程序的运行目录,因为动态链接库在运行时需要被找到。 2. 在Qt项目的.pro文件...

    一个MFC最简单的应用程序

    7. `Debug`目录:通常包含了编译后生成的调试版本可执行文件和其他相关文件,如.pdb调试信息文件。 通过以上文件,我们可以了解MFC应用程序的基本构建流程:从创建MFC工程,定义窗口类,编写消息处理函数,到编译和...

    基于VC++的TCP客户端源码网络通信程序

    在VC++项目中,通常会生成`.pdb` 文件,这些文件包含了变量、函数、类型等的调试信息,当程序在调试模式下运行时,可以帮助开发者跟踪代码执行,查找和修复问题。 综上所述,"基于VC++的TCP客户端源码网络通信程序...

    王牌9 优秀程序员之路——Visual C++开发经验及技巧大汇总.pdf

    - **注意事项**:如果不希望继续使用自定义的App Wizard,可以在VC安装目录下删除相应的.awx和.pdb文件。 #### 3. Visual C++ 编译参数详解 - **基础参数**:默认定义了“Win32”,对于控制台程序会额外定义“_...

    Visual_C++开发经验

    - 如果不再需要此自定义向导,可以在VC++的安装目录下的 `Common\MSDev98\Template` 文件夹中删除对应的 `.awx` 和 `.pdb` 文件。 #### 3. VC常见的编译参数 在Visual C++中,编译时经常会定义以下几种类型的宏: ...

    windows7下安装php的php-ssh2扩展教程

    最后,为了验证扩展是否正常工作,可以通过编写一段PHP测试代码,例如使用ssh2_connect建立连接、ssh2_auth_password进行认证,以及使用ssh2_scp_send进行文件传输等。 以上就是Windows7和XP系统下安装php-ssh2扩展...

Global site tag (gtag.js) - Google Analytics