• 【计算机基础】让我们重新认识一下Visual Stduio及其操作,知识点汇总!!


    📢:如果你也对机器人、人工智能感兴趣,看来我们志同道合✨
    📢:不妨浏览一下我的博客主页【https://blog.csdn.net/weixin_51244852
    📢:文章若有幸对你有帮助,可点赞 👍 收藏 ⭐不迷路🙉
    📢:内容若有错误,敬请留言 📝指正!原创文,转载请注明出处


    ✍Visual Stduio与VScode的差异

    Visual Studio(简称 VS)和 Visual Studio Code(简称 VScode)是两个不同的集成开发环境(IDE),虽然它们都由微软开发,但在功能以及使用场景上存在着一些差异。

    🔎Visual Studio是一个功能强大的集成开发环境,主要面向 Windows 平台开发,并提供广泛的开发工具和服务。以下是 Visual Studio的特点:

    1. 大型项目开发:Visual Studio适用于开发大型的桌面应用程序、Web 应用程序、移动应用程序以及云服务等。它提供了丰富的功能和工具,如代码编辑器、调试器、编译器、图形界面设计器等,用于快速开发和调试复杂的项目。

    2. 各种开发语言支持:Visual Studio支持多种编程语言,如C#、C++、VB.NET、F#、TypeScript等。相应的语言扩展和工具集是 Visual Studio 的特色之一。

    3. 集成开发环境:Visual Studio提供了完整的开发生命周期支持,包括项目管理、构建、调试、部署等。它还集成了版本控制系统(如Git)、自动化测试工具、性能剖析器等其他开发工具。

    🔎Visual Studio Code是一个轻量级的跨平台代码编辑器,它支持多种编程语言和多种开发场景。以下是 Visual Studio Code的特点:

    1. 代码编辑器:VScode提供了一款高度可定制的代码编辑器,支持语法高亮、智能代码补全、代码片段、快速导航等功能,可以满足开发者对于代码编辑和编写的基本需求。

    2. 跨平台:VScode可以在Windows、macOS和Linux等多个操作系统上运行,并提供了一致的开发体验。对于跨平台开发或者在不同操作系统间共享项目的开发者来说,这一点非常有价值。

    3. 扩展生态系统:VScode支持丰富的扩展,通过安装扩展,可以增加对各种编程语言和开发工具的支持,定制编辑器的功能和外观。

    4. 轻量级与快速启动:相对于 Visual Studio,VScode是一个轻量级的编辑器,占用系统资源较少,启动速度快,适用于快速编辑和调试代码。

    综上所述:
    1、Visual Studio适用于开发复杂的大型项目,提供了完整的开发环境和工具集,适合专业开发者;
    2、而Visual Studio Code则更加轻量且灵活,适合小型项目和跨平台开发,提供了丰富的扩展生态系统,适合广大开发者进行快速代码编辑和轻量级开发。选择使用哪个取决于个人的需求和项目要求。

    ✍生成解决方案是什么意思?

    【生成解决方案是什么意思?】
    📝这个其实很好理解,就是平时学到的代码从预编译到链接生成可执行文件的整个过程,而编译只针对单个源文件;
    📝在Visual Studio (VS)中,生成解决方案是指将项目的源代码编译为可执行文件或可部署的软件包的过程。解决方案是一个集合,包含多个相关的项目和文件。
    📝当你在Visual Studio中创建一个解决方案时,你可以向其中添加一个或多个项目。每个项目可以包含源代码文件、资源文件、配置文件等。生成解决方案操作会根据每个项目的设置,将源代码编译成可执行文件(如可执行程序、库文件等)或打包成安装程序等可部署的软件。

    ✍生成解决方案的步骤

    生成解决方案过程中,Visual Studio会执行以下步骤:

    1. 检查项目依赖:根据项目之间的依赖关系,确定构建的顺序。

    2. 编译:将每个项目中的源代码文件转换为机器可执行的二进制代码。

    3. 连接:将编译生成的对象文件或库文件等进行链接,生成最终的可执行文件或软件包。

    4. 输出结果:生成的可执行文件或软件包将被存储在指定的输出目录中。

    通过生成解决方案,你可以获得一个最终可执行的软件产品,该软件可以在特定的平台上运行。这个过程可以根据项目的类型和设置而有所不同,比如在C#项目中会生成.exe文件,而在C++项目中可能生成.dll文件或可执行文件等。

    ✍“重新生成解决方案”和“生成解决方案”的区别?

    【重新生成】
    重新生成解决方案顾名思义就是重新编译每个文件,这样速度要满些,但可靠度高一些。“重新生成”是对所有的文件都重新生成你在解决方案上右键,选择重新生成解决方案的话。VS会自动帮你都生成一遍的。也就是Bin目录里的东西。

    【生成解决方案】
    而生成解决方案则在上次编译的基础上编译那些修改过了的文件,而没有修改的文件不编译,类似于数据库里的增量备份。“生成”的时候,只对你改动过的文件重新生成,没有改动过的文件不会重新生成;

    【清理解决方案】
    最后提一下“清理解决方案”,这是在“重新生成解决方案”和“生成解决方案”下面的一个选项,选择“清理解决方案”将删除所有中间文件和输出文件,只留下项目文件和组件文件,以后可以从这些文件生成中间文件和输出文件的新实例。其实“清理解决方案”这个过程是在“重新生成解决方案”之前要执行的一个步骤,至此,这三者分别的作用的概念就了解完成了。

    参考:https://blog.csdn.net/fengxianghui01/article/details/81873260

    ✍开始调试(不执行)与开始调试有什么区别?

    前者是直接运行代码出结果,不会在断点处停止;
    后者是用于调试的,会在断点处停止
    在这里插入图片描述
    【详细解释两者区别】
    开始调试和开始执行不调试是软件开发中两个不同的概念:

    1. 开始调试(Start Debugging):当你选择开始调试时,你的代码将会在调试模式下执行。调试模式允许你逐行执行代码,并且在执行过程中查看变量的值、检测错误和异常。你可以在调试过程中使用断点,这样代码会在特定的断点处停止执行,方便你进行代码分析和调试。

    2. 开始执行不调试(Start Without Debugging):当你选择开始执行不调试时,你的代码将直接以普通模式执行,不会进入调试器。这样你的代码会直接按照顺序执行,没有暂停、观察变量的机会。这种方式适用于你对代码已经很自信,确认不会出现错误或异常情况,只是想直接看到代码的最终结果。
      总结起来,开始调试适用于需要逐行执行、检查和修复代码问题的情况,而开始执行不调试适用于你希望直接看到代码的最终结果而不需要进行详细调试的情况。

    调试与直接执行的区别

    补充介绍下调试的概念:
    什么是调试?:https://learn.microsoft.com/zh-cn/visualstudio/debugger/what-is-debugging?view=vs-2022
    Visual Studio 调试器是一个功能强大的工具。 在演示如何使用它之前,我们想要讨论一些术语,例如“调试器”、“调试”和“调试模式”。 这样一来,在我们稍后讨论查找和修复 bug 时,我们对相关内容会有相同的理解。
    调试”这一术语可能有很多不同的含义,但从字面上看,它指从代码中删除 bug。
    调试器是一种非常专业的开发人员工具,它可附加到正在运行的应用,并允许你检查代码。 在 Visual Studio 调试文档中,这通常指我们所说的“调试”。

    ✍.exe是不是就是可执行文件?

    【YES】
    “.exe” 是 Windows 操作系统下的可执行文件扩展名。它代表了可执行文件(executable file),也被称为可执行程序。当你编译、构建或打包应用程序时,通常会生成一个拥有 “.exe” 扩展名的文件。

    【可执行文件】
    可执行文件是一种计算机程序,可以在相应的操作系统上直接运行。通过双击或者在命令行中运行可执行文件,操作系统会加载和执行该程序中的指令,从而运行应用程序。在 Windows 上,“.exe” 文件是 Windows 可执行文件格式的一种,这种格式通常包含了二进制代码、资源文件、配置信息和其他依赖项,以及程序入口点等信息。它可以被操作系统理解和执行,使得用户可以执行软件、运行应用程序等。
    在这里插入图片描述

    ✍折叠函数的快捷键

    Visual Studio折叠函数快捷键 Ctrl + M + O: 折叠所有方法 Ctrl + M + M: 折叠或者展开当前方法 Ctrl + M + L:

    ✍VS多进程调试

    附加到进程:

    调试器还可以附加到在 Studio 外部运行(包括在远程设备上)的应用进程。 附加到应用之后,便可以使用 Visual Studio 调试器该进程进行调试。
    但是调试功能可能会受到限制。

    在首次附加到进程后,后续点击“重新附加到进程”即可附加原先调用的进程。

    可选的进程主要取决于主机目前所运行的所有进程。
    在这里插入图片描述
    在这里插入图片描述
    官方描述:https://learn.microsoft.com/zh-cn/visualstudio/debugger/attach-to-running-processes-with-the-visual-studio-debugger?view=vs-2022

    ✍调用堆栈窗口

    vs调试过程中,调用堆栈窗口。
    作用:查看运行的函数,函数的相互调用关系顺序。
    调用堆栈窗口的重要功能是:可以找到当前函数的调用函数,以及依次往前的每一级调用函数。在这里插入图片描述
    第一级函数下面的第二级函数,就是调用了第一级函数的函数;

    第二级函数下面的第三级函数就是调用了第二级函数的函数;

    通过调用堆栈窗口可以很容易的理清当前运行到的位置函数的调用函数,也就是上一级函数是谁,通过在调用堆栈中双击某个函数就可以跳转过去。

    ✍项目要先编译再调试吗?

    通常情况下,在调试项目之前需要先进行编译。编译是将源代码转换为可执行程序或库的过程,它将源代码翻译成计算机可以理解和执行的指令。

    在编译过程中,编译器会检查源代码中的语法错误和类型错误,并生成目标文件。这些目标文件包含了机器代码或者字节码,以及所需的符号表信息。
    一旦编译完成,你就可以开始调试程序。调试是一种通过逐行执行代码、观察变量值和程序状态来定位和修复问题的过程。调试器允许你暂停程序的执行,检查变量的值,设置断点以及单步执行代码。
    然而,有些开发环境可能提供一体化的编译和调试功能,使得你可以在进行调试时自动进行编译。这样的集成开发环境(IDE)通常能够自动更新和重新编译修改过的源代码,并在调试会话中使用最新的代码。
    总之,在大多数情况下,建议在调试之前先确保源代码已经成功编译为可执行程序或库。这样可以避免由于编译错误引起的调试困难,并确保你在调试时使用的是最新版本的代码。

  • 相关阅读:
    99% 用户都不知道的 Power BI / Power Query 隐藏功能
    第3章 C语言高级的预处理
    为啥一到秋季就鼻塞、流鼻涕、打喷嚏?该如何是好?别总当成感冒
    “1688商品评论接口:打造完美电商口碑的秘密武器!“
    kafka_2.10启动Kafka broker
    Vue入门
    矩阵分析与应用+张贤达
    webpack:详解CopyWebpackPlugin,复制的同时修改文件内容
    Redis 发布订阅
    OceanBase 单机租户最多能支持多少分区?
  • 原文地址:https://blog.csdn.net/weixin_51244852/article/details/133222221