VC++6.0 Debug模式与Release模式的区别

    今日开会,老高谈及了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)整个工程。    
  这样就可以对发布版进行调试了! 

 

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值