vs中debug和release的区别你知道吗

摘要:
在VisualStudio中,生成应用程序的时候有2种模式: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方法中抛出异常。

C# 代码 复制
vs中debug和release的区别你知道吗第1张
      class Program
    {
vs中debug和release的区别你知道吗第2张        static void Main(string[] args)
vs中debug和release的区别你知道吗第3张{
vs中debug和release的区别你知道吗第2张            M1();
vs中debug和release的区别你知道吗第2张            Console.ReadKey();
vs中debug和release的区别你知道吗第6张        }
vs中debug和release的区别你知道吗第2张        static void M1()
vs中debug和release的区别你知道吗第8张{
vs中debug和release的区别你知道吗第2张            M2();
vs中debug和release的区别你知道吗第6张        }
vs中debug和release的区别你知道吗第2张        static void M2()
vs中debug和release的区别你知道吗第12张{
vs中debug和release的区别你知道吗第2张            M3();
vs中debug和release的区别你知道吗第6张        }
vs中debug和release的区别你知道吗第2张        static void M3()
vs中debug和release的区别你知道吗第16张{
vs中debug和release的区别你知道吗第2张            throw new Exception("error");
vs中debug和release的区别你知道吗第6张        }
vs中debug和release的区别你知道吗第19张    }
vs中debug和release的区别你知道吗第1张

1、选择"Debug"模式

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

VS中"Debug"模式

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

VS中"Release"模式

免责声明:文章转载自《vs中debug和release的区别你知道吗》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇如何打war包解决MSSQL 2008不能用IP登录的问题下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

iOS 项目调试

iOS 常用bug调试方法 普通操作 如图3 基本的断点操作如下 图4   点击那个黑列列就创建了一个断点,再次点击就临时取消这个断点(但是不删除),长按那个断点拖出去就删除了(mac os的系统工程师就是稀饭拖动的快感),当然也可以右键那个创建的断点,会弹出相应地菜单。当然也还可以监视某个变量!图5 在对象视图中,右键某个对象,点击“Watch ‘...

LLDB调试基本使用

  在平时开发中,我们可能需要调试某些东西,比如查看给服务器发请求时传过去的参数,如果不适用LLDB的话我们用的最多的就是通过NSLog方式去打印,但现在我们可以精简这个步骤,那就是使用LLDB调试命令.   Xcode从4.0开始编译器开始改用LLVM,相应的调试器也从gdb改为LLDB。而从 Xcode5.0开始所有工程也被自动设置为使用LLDB。  ...

CL.exe

CL.exe  CL.exe 是控制 Microsoft C 和 C++ 编译器与链接器的 32 位工具。编译器产生通用对象文件格式 (COFF) 对象 (.obj) 文件。链接器产生可运行文件 (.exe) 或动态链接库文件 (DLL)。 注意,全部编译器选项都区分大写和小写。 若要编译但不链接,请使用 /c。 使用 NMAKE...

Python 调试

【简介调试工具】 pdb使用如下代码就相当于添加断点了:import pdb    pdb.set_trace()  #设置断点的地方,放置于程序中 ipdb相对于python,我们更趋向于ipython,有漂亮的颜色,和<tab>补全提示,以及bash混用; 相对于python内置的pdb,ipdb的优势也正在于此,其实就是对ipython的...

如何调试程序的 Release 版本

很多时候程序的 Debug 版本运行没有任何问题,但是一旦发布 Release 版本后,运行就出错,着实让人郁闷。大家知道,VC++ 中 Release 版本是对无法对源代码进行调试的。一般的做法是在怀疑有错误的代码前后插入MessageBox 函数,在函数中显示可能导致错误的变量的值。或者插入写文件的语句,输出可能导致错误的变量的值到一个记录文件。其实,...

Debug与Release的区别

  Debug版本包括调试信息,所以要比Release版本大很多(可能大数百K至数M)。至于是否需要DLL支持,主要看你采用的编译选项。如果是基于ATL的,则Debug和Release版本对DLL的要求差不多。如果采用的编译选项为使用MFC动态库,则需要MFC42D.DLL等库支持,而Release版本需要MFC42.DLL支持。Release  Buil...