📢:如果你也对机器人、人工智能感兴趣,看来我们志同道合✨
📢:不妨浏览一下我的博客主页【https://blog.csdn.net/weixin_51244852】
📢:文章若有幸对你有帮助,可点赞 👍 收藏 ⭐不迷路🙉
📢:内容若有错误,敬请留言 📝指正!原创文,转载请注明出处
🔎断点:断点是一种在代码中设置的标记,用于调试程序。当程序执行到设置的断点处时,程序会暂停执行,这时我们就可以查看程序状态、变量值等信息,以便定位并解决问题。
🔎调试:调试是指通过检查、测试和分析程序来找出并解决程序中的错误或异常行为的过程。
设置断点是调试的一种常用方法,它可以让开发者在特定位置暂停程序执行,以便检查代码的运行情况。当程序执行到断点时,开发者可以观察变量的值、执行路径以及程序流程,帮助排查程序中的bug或异常情况。
🔎 我们注意到一旦点击开始调试后,程序运行至第一个断点处停下,意味着这个断点之前的语句都已经执行了。
🔎因此,我们打断点的时候应该放在那些不清楚如何执行或是有可能存在bug的地方。断点的设置位置可以根据具体的调试需求来确定。一般来说,断点的设置应该在你希望程序暂停执行以便进行调试、观察或分析的地方。
打完断点后我们需要对代码进行调试,其中就有三种调试手段,分别是逐语句、逐过程以及跳出。那么他们之间有什么区别呢?下面以VS2019为例进行说明:
1、逐语句就是断点处后的每一步都会执行
2、逐过程就是会在主函数中一步步执行,不发生跳转。
3、同样,跳出也是仅在主函数中调试,从一个断点跳到下一个断点
视频中我们通过设置函数来举例说明三者的区别:
三个不同的断点调试方式
🔎在Debug模式下,代码通常被编译为未经优化的可执行文件。这样做的目的是为了方便开发人员进行调试和排错。在Debug模式下,编译器会保留更多的调试信息,如变量名、函数名、源代码行号等。这些信息对于开发人员来说非常有用,因为它们能够在出现问题时提供更详细的错误信息。
🔎而在Release模式下,代码通常会被编译为优化后的可执行文件,以提高程序的性能和执行速度。在这种模式下,编译器会删除大部分调试信息,以减小可执行文件的大小。这意味着在Release模式下,出现错误时可能只会得到一般性的错误信息,而不会提供具体的行号或变量名。
因此需要调试的我们应该选择dubug模式
我们通过视频对比进行直观的说明:
在两种不同模式下的调试区别
此外我们通过试验可知在无断点的情况下,其实调试和执行没有什么区别,我们直接点击调试即可。他们都是直接输出结果。
无断点的情况下调试和执行没有什么区别