浅谈:VS中解决Bug的几个简单实用调试技巧

2023-10-30

在写这篇文章之前,就已经有不少读者来问我:有没有调试方面的文章,给推荐!

思前想后,笔者决定自己研究一下调试的技巧,以便更好的使用VS!

对于现在不少初学C语言的学者,大部分开始使用VS2019,或者VS2022,但是对于代码出现了错误,该怎么调试,这个情况对于许多小白而言,只能眼巴巴的,忘洋生汗!止步于此!

因此,笔者认为一个好的程序员,必须也得懂得,,如何去调试,及其一些好的调试技巧!

调试的基本步骤!

1.发现程序错误的存在!

2.以隔离等方式对错误进行定位!

3.确定错误产生的原因!

4.提出纠正错误的方法!

4.对程序错误给予纠正,并重新检测!

下面笔者就Debug与Release两个版本做一下介绍!:

下面截图是笔者从VS上面的选取的截图!

 1.Debug版本通常称为调试版本!它包含调试信息,并且不做任何优化,便于程序员的调试程序

2.Release称为发布版本!它往往是进行了各种优化,使得程序在代码大小和运行速度都是最优的,以便用户更好的使用!

对于上述简单介绍,我想,读者也应该能看出来:对于我们这些小白,学者,大部分都是用的Debug版本!所以,笔者在下述,主要介绍一下,对于Debug版本的使用技巧!

调试!   Debug!

快捷键:

F5:

  启动调试,经常用来直接跳到下一个断点处!

F9:

创建和取消断点!

断点的作用:可以在程序的任意位置设置断点!

        这样就可以使得程序在想要的位置随意停止,续而一步步执行下去!

F5经常与F9联用

F10:

逐过程,通常用来处理一个过程,一个过程可以一次函数调用,或者一条语句!

F11:

 逐语句,就是每次都执行一条语句,但是这个快捷键,可以使我们的执行逻辑进入函数内部,(这个使最常用的)(若进入函数以后,里面 的库函数进不去,则按F10)

CTRL+F5:

开始执行不调试!如果想让程序直接运行起来而不调试,则直接使用!

对于解决方案资源管理器!不少读者由于不懂,然后就关掉了,不知道该如何去找到!遗憾!

对于上述:找不到解决方案资源管理器的读者:可以在视图:找到解决方案资源管理器,对于找不到怎样打开解决方案资源管理器问题,笔者之前吃过暗亏,建议读者铭记!

 对于监视这个窗口,之前也有读者默默的问过笔者!

对于下述页面,虽然知道办法了,然后找到很容易!但是笔者仍然要强调一番!

 上述页面:对于不少的VS小白笔者而言,如何去打开,还是一个未知的疑问??

原因在于:为什么一样的调试+窗口,却是不一样的界面呢??

 其实就是读者没有进行调试,先让程序跑起来,才能进行监视!

至于调试!仍然用到了:调试+开始调试,也可以用快捷键!

 除了上述内容一外:

对于监视 ; 自动窗口 ;局部变量 ; 调用堆栈 ; 内存 ; 反汇编 ; 寄存器 ;等,我们都可以进行简单摸索尝试,毕竟对于VS出不了啥大问题!

上面的建议,主要还是在于调试成功的基础上,才能找到!

 对于实用调试技巧,到此为止!笔者所知道的内容已经全盘托出,读者若有不懂之处:共同进步吧!

对于调试的建议:

   初学者可能80%的时间在写代码,20%的时间在调试!

  程序员可能20%的时间在写代码,80%的时间在调试!

                                                    完美对比!加油吧少年!

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

浅谈:VS中解决Bug的几个简单实用调试技巧 的相关文章

随机推荐

  • 经验:在Maven项目中,打包时指定 main class 的配置(亲测有效)

    Maven打包的时候 是不是经常会出现 没有主清单属性 的报错 以下的配置 放在 pom xml 最后的 lt build gt 中 就能自定义main函数所在的类 然后打包了
  • 谷歌、OpenAI等警告:BERT、GPT-3等大型语言模型都有一个重大缺陷,很危险...

    2020 12 17 00 14 54 作者 青暮 语言模型已经变得越来越强大 可胜任的任务也越来越多 这些仅仅以预测句子中下一个单词进行训练的模型 已经在诸如问答 翻译等应用程序中取得了突破性的进展 前段时间在社交媒体上活跃异常的GPT
  • 《消息队列高手课》主题和队列有什么区别?

    如果你研究过超过一种消息队列产品 你可能已经发现 每种消息队列都有自己的一套消息模型 像队列 Queue 主题 Topic 或是分区 Partition 这些名词概念 在每个消息队列模型中都会涉及一些 含义还不太一样 为什么出现这种情况呢
  • Service Intent must be explicit的解决方法

    http blog csdn net shenzhonglaoxu article details 42708723 java view plain copy final Intent intent new Intent intent se
  • jeesite框架中获取登入用户的登入名

    jeesite框架中获取登入用户的登入名 UserUtils getUserName
  • 17 张图实战 + 理清 K8S 网络排错思路,硬核!

    作者 Cylon出处 https u kubeinfo cn R35JNc Overview 本文将引入一个思路 在 Kubernetes 集群发生网络异常时如何排查 文章将引入 Kubernetes 集群中网络排查的思路 包含网络异常模型
  • 算法笔记之旅——问题B:出租车费

    题目描述 某市出租车计价规则如下 起步4公里10元 即使你的行程没超过4公里 接下来的4公里 每公里2元 之后每公里2 4元 行程的最后一段即使不到1公里 也当作1公里计费 一个乘客可以根据行程公里数合理安排坐车方式来使自己的打车费最小 例
  • 空间误差分析:统一的应用导向处理(Matlab代码实现)

    个人主页 研学社的博客 欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码实现 1 概述 本文关
  • SVN软件中patch的的运用以及patch介绍

    什么是patch patch就是补丁 在程序中就是和原来相比有差异的部分 生活中常见的就是程序升级 假设我们用手机下载某个软件显示是100M大小 第一次安装时就需要下载100M大小的安装包 当安装完成后 后续会收到软件升级的提醒 升级包可能
  • Vuforia提高识别图星级

    本文转载自http blog csdn net unity3d xyz article details 50638007 高通的识别图上传到后台以后我们可以看有星级评定 星值最大为5星 星值越大有以下好处 1 识别图越容易识别 2 识别出来
  • 从零开始的RVOS: Referring Video Object Segmentation

    最近新接触到一个与VOS相关的任务 叫做Referring VOS 该任务基于文本描述对视频中特定目标进行分割 是一个新兴的跨模态CV任务 数据集 1 静态推断图像分割数据集 虽然RVOS是视频任务 但根据以往的经验和相关文章的方法 可以使
  • 水文模型有哪些?SWAT模型、VIC模型、HEC模型、HSPF模型、HYPE模型、SWMM模型、FVCOM模型、Delft3D模型等应用

    目录 从小白到精通SWAT模型学习建模方法 实例应用 高级进阶 R VIC模型融合实践技术应用及未来气候变化模型预测 HEC RAS一维 二维建模方法及实践技术应用 HEC HMS水文模型实践技术应用 HSPF 模型应用 HYPE分布式水文
  • Service的两种启动方式

    在Android开发的过程中 Service是一个非常重要的组件 它的生命周期里面有几个特别重要的方法 Service的生命周期 onCreate 当服务创建的时候调用 onStartCommand startServcie的时候会调用这个
  • RFID作业(第三次)

    1 通信系统中为什么要进行编码和解码 常见的编码方法有哪些 信源编码是指将模拟信号转换成数字信号 或将数字信号编码成更合适传输的数字信号 换句话来说 通信系统编码和解码是为了让信号更适合传输 常见的编码方法有1 反向不归零编码 2 曼彻斯特
  • ListView的复用问题,点击条目变色.不复用

    主要的是3个类 包含activity application 和一个adpter 内部的细节在代码中都有详细的注释 可以参考 application public class MyApplication extends Applicatio
  • PyQt5学习笔记16----PyQt信号和槽传递额外参数

    使用Pyqt编程过程中 经常会遇到给槽函数传递额外参数的情况 但是信号 槽机制只是指定信号如何连接到槽 信号定义的参数被传递给槽 而额外的参数 用户定义 不能直接传递 而传递额外参数又是很有用处 你可能使用一个槽处理多个组件的信号 有时要传
  • GIT实战篇,教你如何使用GIT可视化工具

    系列文章目录 手把手教你安装Git 萌新迈向专业的必备一步 GIT命令只会抄却不理解 看完原理才能事半功倍 快速上手GIT命令 现学也能登堂入室 GIT实战篇 教你如何使用GIT可视化工具 系列文章目录 一 GIT有哪些常用工具 1 Git
  • 图像增强 数据增强

    目录 python opncv 数据增强 亮度 opencv 亮度饱和度增强 vgg19图像增强 c opencv 图像增强 python opncv 数据增强 亮度 def data augment image brightness fa
  • 从零开始的python教程:全面又好用的学习资料

    1 耳熟能详的Python自学网站 廖雪峰python学习网站 推荐理由 全面成体系的python学习内容 概括起来其实就是免费且全面 而且里面的知识讲解也十分恰当 所举的例子也十分的形象 不足 知识之间的梯度对于刚学习python的学习者
  • 浅谈:VS中解决Bug的几个简单实用调试技巧

    在写这篇文章之前 就已经有不少读者来问我 有没有调试方面的文章 给推荐 思前想后 笔者决定自己研究一下调试的技巧 以便更好的使用VS 对于现在不少初学C语言的学者 大部分开始使用VS2019 或者VS2022 但是对于代码出现了错误 该怎么