VS2022调试技巧(一)

  • 什么是bug?

在1945年,美国科学家Grace Hopper在进行计算机编程时,发现一只小虫子钻进了一个真空管,导致计算机无法正常工作。她取出虫子后,计算机恢复了正常,由此,她首次将“Bug”这个词用来描述计算机系统中的问题。

  • 什么是Debug?

DEBUG是一个用于程序调试的工具,主要用于发现和修复计算机程序中的错误、缺陷或故障。它允许程序员检查内存中任何位置的字节,并可以修改这些字节的值。通过使用DEBUG,程序员可以逐指令执行程序,验证程序的正确性,追踪程序的执行过程,比较指令执行前后的值,以及读写文件和磁盘扇区等。

  • Debug和Release模式的差别?

1.调试信息:Debug模式包含详细的调试信息,如变量名、行号等,这有助于程序员在调试过程中定位问题。而Release模式则不包含这些信息,以优化程序的大小和运行效率。

2.优化:Release模式会对代码进行优化,以提高程序的运行效率。这可能包括去除无用代码、压缩存储和加速代码执行等。而Debug模式则不会对代码进行优化,以便程序员能够更轻松地调试和诊断问题。

3.运行速度:由于Release模式对代码进行了优化,因此生成的程序通常比Debug模式下的程序运行速度更快。Debug模式下的程序由于包含了调试信息和没有进行优化,通常较大且运行速度较慢。

4.错误报告:Debug模式通常会提供更详细的错误报告,帮助程序员更容易地识别代码中的问题。而Release模式则可能不提供这些详细的错误报告,以减少程序的大小和提高运行效率。

5.安全性:Release模式通常用于发布最终产品,因此在生成的可执行文件中不会包含调试信息,这有助于保护代码的安全性和知识产权。

  • 如何进行调试?

1.添加断点:在想要暂停的代码行号后面单击鼠标左键,这样就可以在指定的代码位置设置断点。根据个人需求可以同时添加多个断点。

2.启动DEBUG模式:右键点击选择调试程序(debug)。此时,程序将在断点处暂停执行。

3.进入调试窗口:在调试窗口中,可以看到程序执行到断点处时停住,右边可以看到当前所在的方法,以及程序中变量值的变化。

4.执行代码:点击“步入”按钮,可以执行当前暂停处的语句。执行后,程序将停在下一行的断点处,同时变量值也会相应更新。

5.观察变量值:在调试过程中,可以观察程序中变量的变化情况,从而判断程序的执行流程是否正确。

6.清除断点:断点可以在调试完成后清除。选择要删除的断点,单击鼠标左键即可。

  • 快捷键以及说明:

F5:直接跳到下一个断点

比如下列代码:在调试时候想要直接结束第一个循环,进入下一个循环,那么只需要单击取消1361行的端点,然后按F5即可。

F10:通常在调试有函数代码中使用,如果不想进入该函数,逐过程可以直接跳过该函数,不进入函数内部,直接进入下一条语句。

此时端点停留在1353行,如果不想进入bubble_sort中,可以按F10跳过该函数执行1354行代码。

F11:逐语句就是逐条语句执行,碰到函数会进入函数内部。如果在上面1353行按下F11,则就会进入bubble_sort函数内部,如下:

Shift+F11:调试时,进入函数内部,想要直接执行完函数(跳出函数),执行下一条语句时使用。比如上面截图中代码执行到627行,如果想要直接跳出,则只需要按下Shift+F11,就可以跳出函数,如下:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/493550.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

3 easy 26. 删除有序数组中的重复项

双指针: //给你一个 非严格递增排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 //一致 。然后返回 nums 中唯一元素的个数。 // // 考虑 nums 的唯…

顶顶通呼叫中心中间件-如何使处于机器人话术中的通话手动转接到坐席分机上

文章目录 前言联系我们实现步骤freeswitch命令转接api接口转接 前言 本文讲解呼叫中心中间件如何手动转接通话。 场景:利用自动外呼进入机器人,在通话过程中,转接到坐席分机上。 联系我们 有意向了解呼叫中心中间件的用户,可以点…

闪测影像|闪测仪,一键自动批量测量尺寸

在现代化工业中,闪测仪只需一键即可快速批量测量尺寸,为产品尺寸控制和质量管理提供重要保障。 工作原理 机器视觉系统的优势是高精度、重复性的进行运作,并能提供清晰的图像。整个系统由光源、镜头、相机、图像采集卡、图像处理软件等组件…

HTTP 与HTTPS笔记

HTTP 80 HTTP是一个在计算机世界里专门在【两点】之间【传输】文字、图片、音频、视频等【超文本】数据的约定和规范。 HTTP状态码 1xx 提示信息,表示目前是协议处理的中间状态,还需要后续的操作;2xx 200 204 026 成功3xx 重定向&#xff…

2024国际生物发酵展览会全面揭秘-西尼尔过程控制

参展企业检查 西尼尔(南京)过程控制有限公司成立于2007年,坐落于美丽的六朝古都南京,占地面积20000平方米,现有员工130人,其中70%为本科及以上学历,高级、中级专业技术人员占比30%以上。 公司为…

代码随想录算法训练营第二十二天| 235. 二叉搜索树的最近公共祖先、701.二叉搜索树中的插入操作、450.删除二叉搜索树中的节点

文章目录 1.二叉搜索树的最近公共祖先2.二叉搜索树中的插入操作3.删除二叉搜索树中的节点 1.二叉搜索树的最近公共祖先 因为是有序树&#xff0c;所以中间节点如果是p、q的公共祖先&#xff0c;那么一定存在p<公共祖先<q 或 q<公共祖先<p 代码如下&#xff1a; /**…

蓝桥杯-答疑

原题链接&#xff1a;用户登录 答疑 题目描述 有 n 位同学同时找老师答疑。每位同学都预先估计了自己答疑的时间。 老师可以安排答疑的顺序&#xff0c;同学们要依次进入老师办公室答疑。一位同学答疑的过程如下 1.首先进入办公室&#xff0c;编号为 的同学需要 s&#xff0c;…

文生视频模型调研

文生视频只有OpenAI的Sora&#xff0c;其他的&#xff08;&#xff09;都是动图。 OpenAI发布了可以生成60s视频的Sora模型。刚刚发布的google的Gemini pro 1.5就一下子变得无人问津了&#xff0c;太尴尬了。 在这之前视频生成的天花板是Runway&#xff0c;支持最多18s视频生成…

纽约纳斯达克大屏投放受众群体有哪些-大舍传媒

纽约纳斯达克大屏投放受众群体有哪些-大舍传媒 1. 纳斯达克大屏的概述 纳斯达克大屏是全球金融市场中最出名的电子交易平台之一。作为一个重要的金融信息传递渠道&#xff0c;纳斯达克大屏吸引了来自全球的投资者的目光。在这个巨大的投放平台上&#xff0c;大舍传媒希望为客…

三、系统知识笔记-计算机系统基础知识

一、计算机系统概述 计算机系统是指用于数据管理的计算机硬件、软件及网络组成的系统。 它是按人的要求接收和存储信息&#xff0c;自动进行数据处理和计算&#xff0c;并输出结果信息的机器系统。 冯诺依曼体系计算机结构&#xff1a; 1.1计算机硬件组成 冯诺依曼计算机结…

【JavaEE】网络原理: HTTPS协议相关内容

目录 HTTPS 是什么 HTTPS 的工作过程 对称加密 非对称加密 引入证书 理解数据签名 通过证书解决黑客攻击 HTTPS 是什么 HTTPS也是一个应用层协议, 是在HTTP协议的基础上引入了一个加密层. HTTP协议内容都是按照文本的方式明文传输的, 这就导致在传输过程中出现一些被篡…

树莓派使用git clone时报错failed: The TLS connection was non-properly terminated.

fatal: unable to access https://github.com/jacksonliam/mjpg-streamer.git/: gnutls_handshake() failed: The TLS connection was non-properly terminated. 原因&#xff1a;权限不足 解决办法&#xff1a;sudo git clone 加对应网址。 sudo git clone https://github.co…