【C语言入门】调试技巧(断点,监视反汇编.......)

我是struggle,今天我们主要来学习一些调试的技巧😃😃

在很多时候,我们在写程序的过程中会发现一些非编程错误的问题,这样的问题很难直接分辨出来,但是我们可以用调试了一步一步的模拟程序运行的过程,来找出程序的错误,本篇文章将会以VS2019为例

🚩调试环境的构建

实际上,不是所有的版本都支持调试的,在这里我们需要了解两个版本
1.Debug版本,这个版本是允许调试的,也是我们常说的调试版本
在这里插入图片描述
2.Release版本,是我们常说的发布版本
在这里插入图片描述
发布版本为了轻便简洁,删除了调试功能,实际上也就是我们在创建项目时创建的解决方案。

🚩逐过程与逐语句

在VS2019中,按住F10与F11都可以进入调试,但是他们有些许区别,F10是逐过程,F11是逐语句,那他们有什么区别呢?
一个显著的区别是,逐过程不会进入到函数体内部,逐语句会
在这里插入图片描述
我先在进入了调试界面,如果我一直按的是F11,运行到fun(a,b)时,箭头就会进入到函数体内部一步一步的执行函数体内的语句
在这里插入图片描述
但是如果我一直按的是F10,那么就会直接跳过函数的运行,往下一条语句执行。逐过程和逐语句主要看个人需要。

🚩监视

在调试的过程中,我们不仅关注程序执行的过程,也关注其中变量值的变化,这时候就需要有一个监视器来帮助我们查看:
至于监视器如何打开呢?
1.进入调试

2.点击上方调试按键,选择窗口

3.选择监视
具体操作如图所示:
在这里插入图片描述请添加图片描述

然后我们在监视器中输入我们想要查看的变量就可以了:
在这里插入图片描述

🚩内存

查看内存的操作方式与监视相仿
在这里插入图片描述
在这里插入图片描述
在地址位置输入我们想要查看的变量地址,就可以看到其值在内存中是如何存储的了。

🚩反汇编

查看反汇编并不常用,因为汇编语言是完全不同的一门语言,没有系统的学习很难看懂
在这里插入图片描述
在这里插入图片描述

🚩打断点以及拖动箭头

最后我们来介绍一下如何打断点和拖动箭头有什么作用:

如何打断点:点击编译器同行的灰色区域即可:
在这里插入图片描述
打断点的作用,在此处打断点以后,运行到此处时,程序会自动停止并且进入调试状态:
在这里插入图片描述

♨️♨️打断点的妙用:

在我们想直接得到循环的结果,并且在循环结束时还想继续调试,就可以把断点打在循环的结束部分:
在这里插入图片描述

程序进入调试时,断点行的代码还没有被执行,便于我们排查错误。

拖动箭头

顾名思义,真的是拖动箭头,当我们程序运行时,我们可以向上拖动箭头(或者向下):
在这里插入图片描述
在这里插入图片描述
但是这并不是我们可以回溯程序的意思,看以看到,当我们执行一次for循环让a+1之后,在拖动箭头向上,a的值还是3,所以,拖动箭头只是起到了一个跳转的作用,并不能回溯程序。

🚩结语

当你学习到这里,今天的内容就到此结束了,调试是一个程序员从小白到大佬必不可缺的过程,一定要擅用调试😆,如果你觉得我的文章对你有帮助,不妨点个关注期待一下下一期的内容😆😆

  • 13
    点赞
  • 52
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值