软件分为Debug版本、Release版本这2种版本,其中Debug版本是带有.pdb调试信息文件,而Release版本不带.pdb调试信息文件。软件发布时,一般采用Release版本,若因内存泄漏、数组访问越界、除零错误、磁盘读写错误等异常,造成软件崩溃,会生成一个.dmp崩溃文件。该.dmp崩溃文件,如同飞机的黑匣子,记录软件(或飞机)处于崩溃那那一刻的堆栈信息、运行错误和执行的代码语句行。.dmp文件需要Release版本的exe携带.pdb调试信息或.pdb文件,才能解析到具体的代码崩溃行。这里介绍在visual studio里给Release工程,添加.pdb调试信息。比如,在VS2019里,给工程SqlOne添加Release版本的调试信息。
1 先切换到Release版本
点击VS工具栏的Release – 》OK,如图(1)所示,切换到Release版本

2 在链接器里,勾选"生成调试信息"
在VS解决资源管理器里, 右击SqlOne工程 --》属性 --》链接器 --》调试 --》生成调试信息(/DEBUG) --》确定,如图(2)、图(3)所示:


3 配置C/C++属性
1) 右击工程 --》属性–》【配置属性】–》C/C++ --》常规–》调试信息格式 ,勾选 用于"编辑并继续的程序数据库(/ZI)"–》确定,如图(4) 所示:

2) 右击工程 --》属性–》【配置属性】–》C/C++ --》优化–》已禁用(/Od) --》确定,如图(5) 所示:

设置好之后,按Ctrl+Shift+B快捷键,编译该工程,在Release目录,得到与exe同名的.pdb文件,如图(6)所示:
