vs中debug和release的区别你知道吗
在Visual Studio中,生成应用程序的时候有2种模式:Debug和Release。两者之间如何取舍呢?
一、vs中debug和release的区别
1、Debug 通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序。
2、Release 称为发布版本,它往往是进行了各种优化,使得程序在代码大小和运行速度上都是最优的,以便用户很好地使用。
3、debug程序通常比release程序要慢,尤其是处理视频方面release要比debug快很多。
4、只有DEBUG版的程序才能设置断点、单步执行、使用 TRACE/ASSERT等调试输出语句。REALEASE不包含任何调试信息
5、在Debug模式和Release模式下调试,Debug模式消耗更多的内存,所以运行较慢
在实际情况中,应该把在Release模式下生成的应用程序部署到服务器上
二、debug和release的区别实例说明
假设有这么简单的一段代码,在主程序中调用方法M1,M1方法调用M2方法,M2方法调用M3方法,M3方法中抛出异常。
class Program

{
static void Main(string[] args)
{
M1();
Console.ReadKey();
}
static void M1()
{
M2();
}
static void M2()
{
M3();
}
static void M3()
{
throw new Exception("error");
}
}

1、选择"Debug"模式
把断点打在Console.ReadKey();代码行。运行,并通过依次点击"调试→窗口→调用堆栈",显示"调用堆栈"窗口信息,如下:

2、选择"Release"模式,再调试,显示如下:

vs中debug和release的区别你知道吗的更多相关文章
- C++中debug和release的区别 . 转载
vc中debug和release的不同 收藏 在使用VC开发软件的过程中,正当要享受那种兴奋的时候突然发现:release与debug运行结果不一致,甚至出错,而release又不方便调试,真的是当 ...
- Visual Studio中Debug和Release的区别
在Visual Studio中,生成应用程序的时候有2种模式:Debug和Release.两者之间如何取舍呢? 假设有这么简单的一段代码,在主程序中调用方法M1,M1方法调用M2方法,M2方法调用M3 ...
- Visual Studio中Debug与Release以及x86、x64、Any CPU的区别
Visual Studio中Debug与Release的区别: 在Visual Studio中,编译模式有2种:Debug与Release.这也是默认的两种方式,在新建一个project的时候,就已经 ...
- Visual Studio中Debug与Release以及x86、x64、Any CPU的区别 &&&& VS中Debug与Release、_WIN32与_WIN64的区别
本以为这些无关紧要的 Debug与Release以及x86.x64.Any CPU 差点搞死人了. 看了以下博文才后怕,难怪我切换了一下模式,程序就pass了.... 转载: 1.https://ww ...
- VS中Debug与Release、_WIN32与_WIN64的区别
一.Debug与Release 1. 区别 Debug——调试版,生成的.exe中包含很多调试信息,若直接发包,比较大: Release——发布版 2. 如何区分是Debug编译还是Release ...
- POPTEST老李谈Debug和Release的区别(c#)
POPTEST老李谈Debug和Release的区别(c#) poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣 ...
- POPTEST老李谈Debug和Release的区别(c#) 1
POPTEST老李谈Debug和Release的区别(c#) poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣 ...
- 关于c# Debug和Release的区别 (转)
关于Debug和Release的区别之讨论本文主要包含如下内容: 1. Debug 和 Release 编译方式的本质区别2. 哪些情况下 Release 版会出错2. 怎样“调试” Release ...
- Visual Studio Debug和Release的区别及obj的作用
一.Debug和Release的区别 1.Debug:调试版本,包含调试信息,所以容量比Release大很多,并且不进行任何优化(优化会使调试复杂化,因为源代码和生成的指令间关系会更复杂), ...
随机推荐
- CentOS7 Nodejs布署环境
一.服务器设置:https://www.youtube.com/watch?v=1OU5ngq-WyM&list=PLQlWzK5tU-gDyxC1JTpyC2avvJlt3hrIh& ...
- 【转】Vue v-bind与v-model的区别
v-model 指令在表单控件元素上创建双向数据绑定,所谓双向绑定,指的就是我们在js中的vue实例中 的data与其渲染的dom元素上的内容保持一致,两者无论谁被改变,另一方也会相应的更新为相同的数 ...
- XV6操作系统代码阅读心得(四):虚拟内存
本文将会详细介绍Xv6操作系统中虚拟内存的初始化过程. 基本概念 32位X86体系结构采用二级页表来管理虚拟内存.之所以使用二级页表, 是为了节省页表所占用的内存,因为没有内存映射的二级页表可以不用分 ...
- vue页面开发遇到的坑,都是泪!src属性,freemarker取值
总结下今天做的看图识别药材名的功能所遇到的问题以及解决措施. 效果图如下 对应的连接 http://www.xinghengedu.com/getTenActivityQuestions.jspx 可 ...
- 【BZOJ 3160】 3160: 万径人踪灭 (FFT)
3160: 万径人踪灭 Time Limit: 10 Sec Memory Limit: 256 MBSubmit: 1440 Solved: 799 Description Input Outp ...
- 关于那些oj链接
luogu codeforces bzoj poj tyvj
- 「ZJOI2017」仙人掌
「ZJOI2017」仙人掌 题目大意: 给定一张无向联通图,求有多少种本质不同的不加重边的加边方案使得新图是个仙人掌. 解题思路: 如果原来的图不是仙人掌,那么答案就是 \(0\) ,否则求出这个仙人 ...
- 「Codechef April Lunchtime 2015」Palindromeness
「Codechef April Lunchtime 2015」Palindromeness 解题思路 : 考虑对于回文子串 \(s\) 贡献的定义: \[ value_s = [\ s[1,\lflo ...
- 【四边形不等式】HDU3506-Monkey Party
[题目大意] 香蕉森林里一群猴子(n<=1000)围成一圈开会,会长给他们互相介绍,每个猴子需要时间a[i].每次只能介绍相邻的两只猴子x和y认识,同时x所有认识的猴子和y所有认识的猴子也就相互 ...
- win7环境下一次浅谈栈溢出
在我们的生活中,存在的许许多多的漏洞,下面像大家介绍的就是平时比较常见的栈溢出漏洞的实践过程. 下面,我们用一个非常简单的例子来让大家对栈溢出漏洞有个直观的认识. 这是一个简单的密码验证程序,但因为代 ...