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

一文搞懂C#实时调试时,程序数据库文件.pdb(符号文件)的作用。延伸搞懂Debug/Release、AnyCPU(首选32位)/x86/x64/ARM的区别 DebugRelease没什么同(至少明面上,至于编译器内部区别考虑),区别在于是否进行了“优化编码”。 而优化导致的结果就是是否能够通过.pdb源码,在正常的生产环境中,附加到进程并命中断点。总之就是是否支持实时调试 阅读详情

一、生成和重新生成

“生成”的时候只对你改动过的文件重新生成没有改动过的文件不会重新生成;

“重新生成”是对所有的文件都重新生成。

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

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

注意
如果解决方案中包括多个项目,则生成命令将变成生成解决方案。

选择重新生成解决方案,将首先清理解决方案然后生成所有项目文件和组件。


二、清理项目和清理解决方案


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

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

各种格式的文件的作用参考http://jingyan.baidu.com/article/19020a0afc3629529d284218.html


 三、调试和开始执行(不调试)

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

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

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

 

 四、Debug和Release

Debug 通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序。

Release 称为发布版本,它往往是进行了各种优化,使得程序在代码大小和运行速度上都是最优的,以便用户很好地使用。 
Debug 和 Release 的真正区别,在于一组编译选项。

具体区别请参考http://www.cnblogs.com/JemBai/archive/2009/01/13/1374805.html

msvcrt-vs2017的编译机制 vs对于C/C++开发者来说,还是比较易用友好的IDE。虽然我经常开发linux下的服务,也用过vi、kdeveloper、qtcreator等Linux下的IDE环境,但从开发效率而言,最终还是选择在VS下开发调试,再到linux下编译运行。跨平台部分可以简单地采用boost或者自己写一些简单地封装。 vs的c++实现还算可以,但在posix c部分,差得很远。导致原生linux下的代码,在... 阅读详情

相关推荐

VS调试说明

VS软件怎么调试

qq_44228301的博客 1812

vs开始运行、开始运行调试区别

   开始运行、开始运行调试区别       开始运行是指以调试模式执行,如果设置了断点,会运行到断点处暂停,方便程序员进行调试。       开始运行调试是指以执行模式运行,会完整执行编译生成的那个可执行文件,即使程序中设置了断点,也会暂停,适合于运行程序直接观察最终运行效果。        开始运行调试的按钮:       怎样在菜单显示该按钮:  1. 2. ...

hoiyaku 1万+

C语言:开始运行与开始运行调试区别

开始运行与开始运行调试区别: 1、开始运行是以调试模式执行。如果设置了断点会运行带断点处暂停,方便程序员调试。 2、开始运行调试是以执行模式运行,会完整执行编译生成的那个可执行文件。如果设置了断点也会暂停,适合运行程序直接观察最终的运行效果。

m0_67853978的博客 2116

Visual Studio 中 <执行> <调试> <测试> 的区别及作用

这些操作在软件开发过程中都是非常重要的,它们有助于确保代码的质量可靠性。Visual Studio 提供了工具环境来支持这些操作,以帮助开发人员更有效地开发测试应用程序。

qq_37500874的博客 1459

【转载】VS生成清理项目调试开始执行调试)、Debug Release之间区别...

https://blog.csdn.net/u012441545/article/details/51404412 转载于:https://www.cnblogs.com/jiading/p/10051761.html

weixin_30539625的博客 231

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

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

m0_51913750的博客 1万+

详解C/C++代码的预处理、编译、汇编、链接。VS生成清理项目调试执行debugrelease

详解C/C++代码的预处理、编译、汇编、链接全过程 - 知乎 (zhihu.com)

weixin_43881088的博客 497

VS生成清理项目调试、開始运行(调试)、Debug Release之间的差别...

版权声明:本文为博主原创文章。未经博主同意得转载。 https://blog.csdn.net/helloUSB2010/article/details/35802437 一、生成又一次生成生成”的时候仅仅对你修改过的文件又一次生成没有修改过的文件会又一...

weixin_30895603的博客 147

VS2022调试实战:从Debug/Release差异到高级排错技巧

调试是软件开发的核心环节,它涉及控制程序执行流程、观察运行时状态以定位修复问题。其原理在于通过断点、单步执行变量监视等手段,让开发者能够像外科手术般精准地洞察代码的内部行为。掌握高效的调试技术对于提升开发效率软件质量具有重要价值,尤其在处理复杂业务逻辑、多线程并发性能优化等场景时至关重要。在Visual Studio 2022这样的集成开发环境中,熟练运用其调试器功能,并深刻理解DebugRelease构建模式的本质区别——例如编译器优化、调试符号(PDB文件)预处理器定义(如DEBUG常量)带

weixin_28840143的博客 275

VS2022调试器深度指南:从快捷键到Debug/Release差异与高效调试思维

调试是软件开发中定位修复缺陷的核心环节,其本质是理解程序运行状态、验证逻辑假设的系统性过程。在集成开发环境(IDE)中,调试器扮演着“显微镜”“时光机”的角色,允许开发者深入观察变量、内存等内部状态,并控制执行流程。掌握高效的调试技术能极大提升问题排查效率,对保障软件质量至关重要。在Visual Studio等现代IDE中,熟练运用条件断点、调用堆栈等高级功能,并深刻理解DebugRelease两种生成配置在优化、调试符号及运行时行为上的根本差异,是解决“本地正常、发布异常”等棘手问题的关键。这些技能

weixin_28718769的博客 276

1.VS常识

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

weixin_41546828的博客 343

你真的知道怎么使用vs吗?把把手教你实用调试小技巧

谈到bug,我们知道bug的中文意思是虫子,飞蛾的意思。至于为什么bug一词会用到计算机领域的话得追溯到第一台计算机的诞生。上面个你看到的就是世界上第一个bug的诞生。它的来源也是非常的有意思,当时世界上的第一台计算机出了故障能正常的工作,于是工作人员就进入计算机内部检查(当时的计算机非常的大,达到人可以进去),这个时候发现计算机的一个晶体管内有个飞蛾死在了里面于是把飞蛾清理干净,换了零件之后,计算机就可以正常的工作了。

qq_74276498的博客 2462

初识C语言(vs2022的调试技巧)

本文介绍了程序调试的基础知识与实用技巧,主要内容包括:1) "bug"一词的起源与定义;2) 调试的基本概念与步骤;3) Visual Studio中DebugRelease模式的7个关键区别;4) VS调试快捷键分类整理(基础调试、单步执行等);5) 监视内存观察的详细方法与技巧;6) 编程常见错误分类(语法、运行时、逻辑、环境错误)。文章内容涵盖调试的完整流程,从错误识别到修复验证,为开发者提供了全面的调试参考指南。

LinHenrY1227的博客 692

嵌入式项目如何正确配置DebugRelease构建:从CMake到Keil的完整指南

在编译型工程中,构建配置直接决定开发效率与交付质量。DebugRelease两种构建形态分别服务于可调试性与可交付性:前者需关闭优化、保留调试符号与断言;后者则追求性能与体积,并适当剥离调试信息。优化等级与调试体验存在天然矛盾,变量被优化进寄存器导致的“cannot evaluate”只是表象,深层问题是产物形态与使用场景匹配。围绕优化级别、预处理宏、链接库、中间目录等关键维度,CMake、Keil、Visual Studio等工具均提供了灵活的配置机制。正确分离DebugRelease仅能避免预编

weixin_34248487的博客 364
上一篇: LeetCode——Reverse Words in a String
下一篇: 图像处理——灰度化、二值化、膨胀算法、腐蚀算法以及开运算和闭运算
try-catch-finally
博客等级 码龄16年 48粉丝 20原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值