VS2022 实用调试技巧

发布时间:2024年01月21日

??欢迎大家来到Celia的博客??

🎉🎉创作不易,请点赞关注,多多支持哦🎉🎉

所属专栏:C语言

个人主页:Celia's blog~

目录

引言

1.bug

2.什么是调试

3.Debug 和 Release

4.常用的调试快捷键

4.1?F9 --- 创建/取消 断点

4.2?F5 --- 启动调试

4.3 F10,F11

5.监视与内存观察

5.1监视的实用小技巧


引言

? 在实际的程序开发过程中,如果程序能够正常运行,但是运行结果是错误的,这个时候就需要去找出问题所在,但是如果程序比较复杂,不能通过直观的方式找出问题时,就需要借助调试功能去观察程序运行时的细节,以帮助我们找到问题所在。

1.bug

? ? bug的本意是“虫子”,现在一般是指在电脑系统或程序中隐藏着一些未被发现的漏洞和缺陷,称之为“程序漏洞”。

2.什么是调试

? 当我们的程序出现bug时,我们需要找出问题所在,然后解决问题重新测试,这个找出问题的过程就称之为调试,英文叫做Debug,意为“消灭bug”。

3.Debug 和 Release

? 在vs2022中,我们可以看到有Debug和Release两个选项,它们分别是什么意思呢?

  • Debug称为调试版本,在平时的练习中,需要对程序进行反复的调试与更改,这时把选项调成Debug,这样程序编译时生成的exe文件就是Debug版本的,包含调试信息,可以直接进行调试。
  • Release称为发布版本,这个版本中会对程序进行一系列的优化,使其速度和效率上达到最优,且达到对该程序的预期效果时,把选项调成Release,这样程序在编译时生成的exe文件就是Release版本的,并且会删除相应的调试信息,供用户使用。

? 可以看到,Release版本相比于Debug版本,删除了调试信息,占用空间大大降低。

4.常用的调试快捷键

  • F9?--- 创建断点与取消断点
  • F5 --- 启动调试
  • F10 --- 逐过程
  • F11 --- 逐语句
  • CTRL+F5 --- 开始执行不调试

4.1?F9 --- 创建/取消 断点

? 断点的作用是在程序的任意位置上设置断点,使得程序在运行到其位置的时候暂停下来,这时候可以使用F10和F11进行相应的调试,观察程序运行时的细节。黄色箭头所指的语句是接下来将要执行的语句

此外,还可以设置条件断点,只有满足相应条件时,程序才会在断点处暂停。??

可以看出,只打印了一个666后,i的值为1,程序暂停。

4.2?F5 --- 启动调试

在我们想要对程序进行调试时,按下F5就可以了。

4.3 F10,F11

  • F10逐过程:执行一次过程,可以是函数调用,也可以是一条语句
  • F11逐语句:每次只执行一条语句,可以使执行逻辑进入到函数内部,也就是说如果想要知道函数调用内具体的执行过程,必须用F11,如果用了F10,将直接完成函数的调用,无法进入到被调函数内观察。

5.监视与内存观察

? 在调试过程中,有些时候光看语句的执行顺序是不够的,还需要观察变量的值,这个时候就需要进行监视操作。

注意:监视与内存窗口只有在调试过程中才可以打开!!

? 打开任意一个监视窗口后,我们可以添加监视的项,这个项可以是地址,可以是变量,也可以是表达式。这时我们再对程序进行逐语句执行的时候,就可以在监视窗口看到我们所需要观察的变量信息的变化了。

我们还可以观察每一个变量在内存中的储存情况。

5.1监视的实用小技巧

在一维数组/二维数组中,我们在监视的时候点击项左上角的小三角,就可以看到具体每一个元素的信息了。

在二维数组传参时,如果遇到无法查看每一行的具体元素时,只需要添加一个监视项,输入数组名+逗号+需要查看的行数就可以看到需要查看的行中的具体元素了。在这里输入了arr,2。只能看到前两行的元素。

在一维数组传参时,只能看到数组的首元素,要想看到数组中其他的元素,只需添加一个监视项,输入数组名+逗号+需要查看的元素数量,就可以看到数组中的其他元素了。在这里输入arr,3。只展示了一维数组的前三项。

以上就是VS2022常用的调试技巧啦~

文章来源:https://blog.csdn.net/2302_81149370/article/details/135727057
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。