VC++6.0 Debug模式与Release模式的区别
来源:互联网 发布:筒仓设计软件 编辑:程序博客网 时间:2024/06/05 10:14
今日开会,老高谈及了VC++6.0中有关Debug与Release的不同。简单的就不说了,最重要的是Debug模式下变量的地址是固定的,而Release模式的变量地址则不然。归根到底,是由于Debug模式的变量地址由VC编译器负责分配,而Release模式的变量地址是由操作系统分配的。这也解释了为什么在Debug模式时可以运行的程序,在Release模式下可能根本无法执行。
我目前做的项目也遇到过此类问题,当时并未在意,今日听老高一席话,方明白个中缘由。至于当时怎么修改的这个bug我也无从知晓。故从网上搜集以下资料,以备将来需要:
一般来讲,发布版对代码进行了一定的优化;
两种版本之间最主要的不同之处在于调试版能发现多种内存错误,而发布版不能,还有,调试版允许对内存的写操作有四个字节的上溢出和四个字节的下溢出,对程序不会有任何影响,然而同样的错误在发布版中就会导致内存破坏。
发布版是可以调试的,你跟踪一下;要调试发布版,要进行一定的设置以为发布版创建调试符号(就是生成PDB文件),可作如下设置:
1、在"Project"中选择"Settings",打开工程设置对话框;
2、在Debug Info下选择Program Database
3、在Link标签里选择Debug类。然后选择Debug Info和Microsoft Format选项;并在Project options对话框的最后加上“/OPT:REF”
4、重新编译(Rebuild All)整个工程。
这样就可以对发布版进行调试了!
- VC++6.0 Debug模式与Release模式的区别
- VC++6.0 Debug模式与Release模式的区别
- VC++ Release与Debug模式的区别
- debug 与 release 模式的区别
- VC++中debug跟release编译模式的区别总结
- VC++中debug跟release编译模式的区别总结
- VC++中debug跟release编译模式的区别总结
- VC++中debug跟release编译模式的区别总结
- Debug模式和Release模式的区别
- Release模式与Debug模式的异同
- Xcode的release与debug模式的区别
- [VC/C++]debug与release的区别
- vc中的debug与release的区别
- VC的debug与release区别
- VC中release与debug的区别
- Debug和Release模式的区别
- VC Debug与Release区别
- VC Debug与Release区别
- amix the lucky stiff(vimrc)
- exe4j打包+Eclipse打包插件说明 GUI项目打包EXE文件的总结
- 有关strncpy,memcpy,memmove的比较
- tomcat和eclipse安装
- C#系列一
- VC++6.0 Debug模式与Release模式的区别
- Servlet/JSP学习笔记(2)-基础知识
- 农历日期控件解决方案
- Requirements Analysis Process:Requirements Elicitation, Analysis And Specification
- Visual Studio 2008 使用MPI的设置
- 在Eclipse中安装swt designer插件
- 敏捷开发实践体会
- IIS日志清理CMD版的解释
- exe4j生成EXE的方法