Visual Studio 中 Debug 和 Release 的区别;生成、清理项目、调试、开始执行等之间的区别

1. Debug 和 Release 的区别

  • Debug调试版本,包含调试信息,所以容量比 Release 大很多,并且不进行任何优化(优化会使调试复杂化,因为源代码和生成的指令间关系会更复杂),便于程序员调试Debug 模式下生成两个文件,除了 .exe.dll 文件外,还有一个 .pdb 文件,该文件记录了代码中断点等调试信息 。
  • Release发布版本,不对源代码进行调试,编译时对应用程序的速度进行优化,使得程序在代码大小和运行速度上都是最优的,以便用户很好地使用。(调试信息可在单独的PDB文件中生成)。 Release 模式下生成一个文件 .exe.dll 文件。

实际上,DebugRelease 并没有本质的界限,他们只是一组编译选项的集合,编译器只是按照预定的选项行动。事实上,我们甚至可以修改这些选项,从而得到优化过的调试版本或是带跟踪语句的发布版本。

2. 生成和重新生成

  • 【生成】的时候只对你改动过的文件重新生成,没有改动过的文件不会重新生成;
  • 【重新生成】是对所有的文件都重新生成。

以 cpp 为例,当你只改动某些 .cpp 之类的文件时,可以用生成,省了编译没有改动的那些文件的时间。但是改动了某些 .h 之类的文件最好用重新生成,因为有可能有些文件包含 .h 文件,也需要重新编译。

选择生成或生成解决方案,将只编译自上次生成以来更改过的那些项目文件和组件。

注意:
如果解决方案中包括多个项目,则【生成】命令将变成【生成解决方案】。
选择【重新生成解决方案】,将首先清理解决方案,然后生成所有项目文件和组件。

3. 清理项目和清理解决方案

选择【清理解决方案】将删除所有中间文件和输出文件,只留下项目文件和组件文件,之后可以从这些文件生成中间文件和输出文件的新实例。

【清理项目】,会清理项目生成的 ilk、pdb、exe 等文件。

4. 调试和开始执行(不调试)

启动调试:就是先生成解决方案再执行的。

开始执行(不调试):直接执行,只得到最终结果。

这两种方法的区别是,前者需要加载调试符号,允许在运行过程中中断,并单步执行,还可以对某些变量进行监控,甚至改变其代码并重新计算;后者仅仅编译并运行,无法对程序进行调试,仅适合在需要查看运行效果时使用。

【参考】:
VS Debug和Release版的区别
VS中生成、清理项目、调试、开始执行(不调试)、Debug 和 Release等之间的区别

  • 9
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值