vs中debug和relsese版本的区别

转载 2016年06月01日 15:52:20

vs中的程序有debug和release两个版本,Debug通常称为调试版本,通过一系列编译选项的配合,编译的结果通常包含调试信息,而且不做任何优化,以为开发 人员提供强大的应用程序调试能力。而Release通常称为发布版本,是为用户使用的,一般客户不允许在发布版本上进行调试。所以不保存调试信 息,同时,它往往进行了各种优化,以期达到代码最小和速度最优。为用户的使用提供便利。

   debug程序通常比release程序要慢,尤其是处理视频方便release要比debug快很多。在release模式对程序进行调试的时候经常会遇到变量虽然初始化了,但是在查看其值的时候却发现是一个随机的数并不是初始化的值,有时候在对变量进行监视的时候了,会出现找不到变量的情况,原因大致如下:

 debug跟release在初始化变量时所做的操作是不同的,debug是将每个字节位都赋成0xcc, 而release的赋值近似于随机。如果你的程序中的某个变量没被初始化就被引用,就很有可能出现异常:用作控制变量将导致流程导向不一致;用作数组下标将会使程序崩溃;更加可能是造成其他变量的不准确而引起其他的错误。所以在声明变量后马上对其初始化一个默认的值是最简单有效的办法,否则项目大了你找都没地方找。代码存在错误在debug方式下可能会忽略而不被察觉到。debug方式下数组越界也大多不会出错,在release中就暴露出来了,这个找起来就比较难了。

只有DEBUG版的程序才能设置断点、单步执行、使用 TRACE/ASSERT等调试输出语句。REALEASE不包含任何调试信息,所以体积小、运行速度快。

相关文章推荐

将PHP C++扩展从php5升级到php7

在没有怎么看明白php5 php7源码的情况下,接手一份基于php5写c++扩展,如何接手快速升级到php7环境下也能使用呢;我仅仅修改了所引用的一个php中对象处理的头文件,就满足了要求,扩展被编译...

C/C++获取Windows系统CPU和内存及硬盘使用情况

//1.获取Windows系统内存使用率//windows 内存 使用率 DWORD getWin_MemUsage(){ MEMORYSTATUS ms; ::Globa...

vs中debug和release版本的区别

vs中的程序有debug和release两个版本,Debug通常称为调试版本,通过一系列编译选项的配合,编译的结果通常包含调试信息,而且不做任何优化,以为开发 人员提供强大的应用程序调试能力。而Rel...
  • gxiaob
  • gxiaob
  • 2013年06月07日 22:16
  • 40030

VS环境下Debug和Release版本的区别

说一点闲话我在大学刚刚学习编程的时候,对于Debug和Release这两个词只是处于知道的水平,并没有深入了解。因为大学时期的编程更多的是为了实现,而不是使用。所以部署这个词,在大学时和我没有任何瓜葛...

VS Debug和Release版本的区别

VS Debug和Release版本的区别 1. 变量。 大家都知道,debug跟release在初始化变量时所做的操作是不同的,debug是将每个字节位都赋成0xcc(注1),而rele...
  • whatday
  • whatday
  • 2014年08月14日 14:13
  • 546

关于Vs Debug和Release版本的区别

一直很好奇Debug和Release版本的区别:以Debug发布的程序安装到客户处,双击运行后会提示缺各种dll文件,整的跟水土不服似的。无奈只能发布Release的。对于Release的程序出错了实...

vs下的debug和release版本的区别

vs下的版本分类: Debug版本通常称为调试版本,通过编译选项的配合,编译的结果通常包含调试信息,可以设置断点、单步调试、使用TRACE/ASSERT等调试输出语句并且编译...

VS Debug和Release版本的区别

VS Debug和Release版本的区别 1. 变量。 大家都知道,debug跟release在初始化变量时所做的操作是不同的,debug是将每个字节位都赋成0xcc(注1),而rele...

VS.Net中程序集的Debug版本和Release版本的区别

前几天看到豆腐的文章介绍如何知道程序集是Debug版还是Release版,之前只知道某些软件从功能上有企业版、标准版之分,却从不知道.Net程序集还有Debug和Release之区别,真是惭愧学了这一...

VS中Debug版本和Release版本的区别

Debug通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序。Release称为发布版本,它往往是进行了各种优化,使得程序在代码大小和运行速度上都是最优的,以便用户很好地使用。 ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:vs中debug和relsese版本的区别
举报原因:
原因补充:

(最多只允许输入30个字)