C++中debug和release的区别? 为啥debug没问题的程序release之后就出问题了?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++中debug和release的区别? 为啥debug没问题的程序release之后就出问题了?相关的知识,希望对你有一定的参考价值。
参考技术A 我经验:release采用的优化策略与Debug不同造成出问题的情况多些,实际上,这两种编译的参数是人工可配置的,完全可配置得一样来测试。遇到题目中情况时,先将Release版中优化部分暂时去掉,看是否优化会引起问题,比如,你程序中给通讯或某些低速设备初始化时采用的是自己写的循环计算方式实现的,那么就有可能受优化的影响,原先运行1毫秒的循环优化后只运行500微秒了;还有就是,对于工程中每个程序在编译时可以选用不同的优化策略,可以将需要进行速度优化的程序单独分出来,设置只针对这些程序进行优化,其他的可以排除优化带来的干扰;最后,Debug版程序因为程序中有一大堆调试信息,对错误的冗余也大些,那些将将越界访问的"野指针"也许不会引起问题,这时将程序部分设置成release的优化后再调试可以将问题点逐渐找出来。
在C#中Debug和Release两种调试方法出来结果不同,求问为啥?
我用的是VS2010,由于毕业设计的需要做程序,可是程序用Debug方法运行有的代码就被完全忽略,运行不到,而用Release方法运行就正常。求问为什么?
在问一下调试的时候不管哪个方法,是运行Bin文件夹下的EXE文件还是Obj文件夹下的?
#if DEBUG
int state = 1;
#else
int state =0;
#endif
所以不同的编译运行可能不一样。
运行Bin文件夹下的EXE文件就可以了。追问
可是我在程序里面没有这样子的语句,都是正常的,可是不行。
本回答被提问者和网友采纳以上是关于C++中debug和release的区别? 为啥debug没问题的程序release之后就出问题了?的主要内容,如果未能解决你的问题,请参考以下文章
在C#中Debug和Release两种调试方法出来结果不同,求问为啥?