为 VC6 程序的 Release 版本添加调试信息
众所周知,VC6项目通常默认被分为两个编译版本:Debug 和 Release。前者主要用于开发调试,后者用于对外发布。绝大多数情况下,这个两个版本在功能上是完全一致的,只不过 Debug 版本多出了一些便于调试的特性。
但是在极少数情况下,Debug 版本和 Release 版本程序运行结果不一样。例如,在 Debug 版本下,程序运行正常,而在 Release 版本下,程序却可能非法退出。因为 Release 版本程序不能设置断点,无法调试跟踪,因而很难找到问题的根源。在这种情况下,为 Release 版本增加调试信息,应该是不错的选择。
最近恰恰又遇到了这种情况,写出来给大家分享。不过是对之前某本书(《编程高手谏言》?)或某篇文章中介绍的方法的翻版而已。
为 VC6 程序 Release 版本增加调试信息的具体操作方式如下:
1、菜单 Build -> Configuration...,点击 Add 按钮,从 Release 版本复制一个编译选项,命名为“Release with debug info”,当然名称随意。
2、菜单 Project -> Settings...,在左上角选中刚才创建的“Release with debug info”,然后修改以下内容:
a、C++ | Category: General:Optimizations 设置为“Disable (debug)”;选中“Generate browse info”;Debug Info 设置为“Program Database”。
b、Link | Category: General:选中“Generate debug info”。
3、菜单 Build -> Set Active Configuration...,选中“Release with debug info”。
经过以上配置之后,编译,即可得到“带调试信息的Release程序”,可设置程序断点,可跟踪调试。这种版本程序既有 Debug 的一面,又有 Release 的一面,当然更多的倾向于 Release。
调试完毕并解决问题之后,再编译出 Release 版本(Set Active Configuration)发布给最终用户。