永发信息网

求解VS2015的Debug和Release的区别

答案:2  悬赏:0  手机版
解决时间 2021-03-23 14:57
求解VS2015的Debug和Release的区别
最佳答案
dubug是有调试符号的. 还带有很多不需要的多余信息. 就是方便你调试. 你在调试和逆向工程的工具里打开debug版本的二进制文件很容易搞懂程序内容. 因为原函数名都在. 而且编译的时候基本不优化, 你原来写的什么样的结构生成的二进制就是什么样的结构.

release版本编译的时候是经过优化的. 有的时候编译器会更改你的程序逻辑和算法让程序在输出同样的结果的前提下运行更快. 而且有可能几个函数被合并在一起了(像自动inline一样). 而且release版本的二进制文件没有调试符号. 用第三方工具调试/逆向难度相对前者更大.
全部回答
vs中的程序有debug和release两个版本,debug通常称为调试版本,通过一系列编译选项的配合,编译的结果通常包含调试信息,而且不做 任何优化,以为开发 人员提供强大的应用程序调试能力。而release通常称为发布版本,是为用户使用的,一般客户不允许在发布版本上进行调试。所以不保存调试信 息,同时,它往往进行了各种优化,以期达到代码最小和速度最优。为用户的使用提供便利。 debug程序通常比release程序要慢,尤其是处理视频方便release要比debug快很多。 debug跟release在初始化变量时所做的操作是不同的,debug是将每个字节位都赋成0xcc, 而release的赋值近似于随机。 代码存在错误在debug方式下可能会忽略而不被察觉到。debug方式下数组越界也大多不会出错,在release中就暴露出来了,这个找起来就比较难了。 只有debug版的程序才能设置断点、单步执行、使用 trace/assert等调试输出语句。realease不包含任何调试信息,所以体积小、运行速度快。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
在蛇口海上世界附近上班,请问附近哪里租房便
夫妻间房事一般维持多长时间不射才算正常么?
单选题取一定量的某有机物在空气中完全燃烧,
面试怎样巧妙回答跳槽问题
草甘膦除草剂几天后可播种
求救: 公司人事公告格式
韩兵现在查的怎么样了,为什么他在日照钢铁厂
单选题He does so little wo
永年到邢台大峡谷多远?
你好!我公司有一张银行承兑汇票今天到期,晚
巴黎周边有什么好玩的,佛山周边有什么好玩的
豪杰车饰我想知道这个在什么地方
甲、乙两数的平均数是m,甲数比乙数多n,则甲
有一首dj串烧前奏独白有一句 如果有一天你遇
如果一个人在深海8000米的地方,那么那个人的
推荐资讯
进入Oracle数据库语句
单选题在“五岳”之一泰山上,历史上曾多次出
阿伏加德罗常数为NA,下列有关叙述正确的是A.
北非的民居大多是平顶,为什么
梦见自己行走坐很高独轮
有欠条,但是找不到人要钱,怎么办,?
周公解梦梦见妹妹死了,我哭的很伤心
求助!FC热血曲棍球的问题!
世界上第一艘核潜艇是由哪国人发明的?
考研需要过四级吗
保险小组组名和口号,求保险公司团队口号,,
乐风1.6发动机故障灯不亮是什么原因
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?