【计算机基础】VS断点调试,边学边思考

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


1、什么是断点?与调试有何关系?

🔎断点:断点是一种在代码中设置的标记,用于调试程序。当程序执行到设置的断点处时,程序会暂停执行,这时我们就可以查看程序状态、变量值等信息,以便定位并解决问题。

🔎调试:调试是指通过检查、测试和分析程序来找出并解决程序中的错误或异常行为的过程。

设置断点是调试的一种常用方法,它可以让开发者在特定位置暂停程序执行,以便检查代码的运行情况。当程序执行到断点时,开发者可以观察变量的值、执行路径以及程序流程,帮助排查程序中的bug或异常情况。

2、断点应该打在哪里?

🔎 我们注意到一旦点击开始调试后,程序运行至第一个断点处停下,意味着这个断点之前的语句都已经执行了。

🔎因此,我们打断点的时候应该放在那些不清楚如何执行或是有可能存在bug的地方。断点的设置位置可以根据具体的调试需求来确定。一般来说,断点的设置应该在你希望程序暂停执行以便进行调试、观察或分析的地方。

3、逐语句、逐过程以及跳出的区别

打完断点后我们需要对代码进行调试,其中就有三种调试手段,分别是逐语句、逐过程以及跳出。那么他们之间有什么区别呢?下面以VS2019为例进行说明:

1、逐语句就是断点处后的每一步都会执行

2、逐过程就是会在主函数中一步步执行,不发生跳转。

3、同样,跳出也是仅在主函数中调试,从一个断点跳到下一个断点

视频中我们通过设置函数来举例说明三者的区别:

三个不同的断点调试方式

4、degug和release模式下的调试有什么区别?

🔎在Debug模式下,代码通常被编译为未经优化的可执行文件。这样做的目的是为了方便开发人员进行调试和排错。在Debug模式下,编译器会保留更多的调试信息,如变量名、函数名、源代码行号等。这些信息对于开发人员来说非常有用,因为它们能够在出现问题时提供更详细的错误信息。

🔎而在Release模式下,代码通常会被编译为优化后的可执行文件,以提高程序的性能和执行速度。在这种模式下,编译器会删除大部分调试信息,以减小可执行文件的大小。这意味着在Release模式下,出现错误时可能只会得到一般性的错误信息,而不会提供具体的行号或变量名。
因此需要调试的我们应该选择dubug模式
我们通过视频对比进行直观的说明:

在两种不同模式下的调试区别

5、无断点,调试和执行有无区别?

此外我们通过试验可知在无断点的情况下,其实调试和执行没有什么区别,我们直接点击调试即可。他们都是直接输出结果。

无断点的情况下调试和执行没有什么区别

在这里插入图片描述

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嵌小超

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值