为 VC6 程序的 Release 版本添加调试信息
2014-03-26 19:30
375 查看
众所周知,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)发布给最终用户。
众所周知,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)发布给最终用户。
相关文章推荐
- js调用重复定义的一个方法,如何执行
- 线程与进程的区别
- RestFul API
- ListView异步加载图片(双缓存)
- 黑马程序员(六)JDK5新特性之注解
- Skyline_Analysis65_3DViewshed
- Android与tomcat之间的ip
- LeetCode | Anagrams
- 括号匹配
- 数组插入
- WIFI(wince)驱动
- Linux 内核网络协议栈 ------ TCP拥塞状态机 tcp_fastretrans_alert
- 群星云集 BOSS上海时装秀—情沪魅影- 在线观看 - 乐视网
- hdu2069
- CF:358C 暴力DP筛选素数预处理
- 指向学生类的指针
- 林志玲“情沪魅影”时装片展情缘-中新网
- [物理学与PDEs]第1章第5节 Maxwell 方程组的数学结构, 电磁场的波动性 5.3 电磁场的波动性, 自由电磁波
- 如何查看ORACLE的隐含参数
- ZOJ 1992 Sightseeing Tour