17. 《C语言》——【VS实用调式技巧】


在这里插入图片描述

💻 个人主页: FEN03
📰 收入专栏: C语言


在这里插入图片描述
亲爱的读者,大家好!我是一名正在学习编程的高校生。在这个博客里,我将和大家一起探讨编程技巧、分享实用工具,并交流学习心得。希望通过我的博客,你能学到有用的知识,提高自己的技能,成为一名优秀的程序员。如果你有任何疑问或建议,请随时在评论区留言,让我们一起成长进步!现在,让我们开始这场知识之旅吧!




☀️前言

本章,我们将学习什么是bug, 并且如何去使用VS调式, 来解决问题, 接下来就让我们探索吧⬇️⬇️⬇️


🌴1. 什么是bug 🐛


在我们打游戏的时候,可能突然会随口就说了一句有bug,那么这个bug是什么意思呢?

其实,bug 本意是 “虫子🐛” , 现在呢一般是指在电脑系统或者程序中,隐藏着一些缺陷, 简称为程序漏洞

那么这一词的创始人,名为格蕾丝·赫柏,是一名美国计算机科学家,同时也是为美国海军工作的电脑专家。

1945年9月9日,格蕾丝使用的Mark Ⅱ出现故障,导致工作无法进行。经过了近一天的检查,格蕾丝找到了故障的原因:继电器中有一只死掉的蛾子。蛾子被夹了出来。后来,”bug” (小虫) 和”debug” (除虫) 这两个本来普普通通的词汇成了计算机领域中特指莫明其妙的“错误”和“排除错误”的专用词汇而流传至今,而格蕾丝·赫柏也因此成了第一个发现“bug”的人。

在这里插入图片描述


💻2. 什么是调式(debug)🧑🏼‍💻


遇到bug了,我们就需要解决bug,如何解决呢?这个时候就需要调式(debug),我们能通过调式,来找到问题所在,随后解决问题。

那么在VS中,我们是如何进行调式呢?让我们接着往下探讨⬇️⬇️⬇️


☁️3. Debug 和 Rlease 🌨️


当我们在使用VS时,会在上方发现,有着Debug和Rlease,这2个选项。那么它们分别都有着什么意思呢❓

在这里插入图片描述


Debug 通常称之为调式版本,它包含着调式信息,并且不会对程序进行任何的优化,能够便于程序员调式程序。当程序员进行写代码,需要经常性的去调式代码,那么就需要将版本设置为Debug,这样当程序编译时,产生的就是Debug版本的可执行程序,里面就包含了调式信息,能够直接调式。


Release 通常称之为发布版本,该版本往往是进行了各种程序的优化,使得程序在运行速度上以及大小都是最优的。以便用户能够更好的使用,当程序员完成代码,测试人员再对程序进行测试,直到程序的质量符合用户的要求,这时就会设置成Rlease版本,编译时,产生的就是Release版本的可执行程序,这个版本是用户在使用,不包含调式信息。


该图是,Debug和Release版本的对比

在这里插入图片描述

在这里插入图片描述
通过对比,我们可以很清楚的看到它们的大小,Debug版本相对来说比较Release版本相对来说是的🤏🏼。


⌨️4. VS调式的快捷键🖱️


🌴4.1 环境准备

我们在前边很好的了解Debug和Release这2个版本,那么接下来就是学习VS调式中需要使用到的快捷键。


首先是环境的准备,那么我们需要把环境设置成能够支持调式的版本,也就是Debug版本,如图:

在这里插入图片描述


🌴4.2 调式快捷键


我们最常用的是以下几个快捷键⬇️⬇️⬇️:

  1. F10:完成的是逐过程,通常用来处理一个过程,一个过程可以是一条语句,也可以是一次函数调用。
  2. F9:完成的是,创建断点和取消断点,断点的作用是可以在程序的任意位置设置断点,打上断点可以使得程序执行到想要的位置暂停执行,然后我们就可以使用F10和F11这些快捷键,来观察代码的执行细节。 断点还有着条件断点,只有满足这个条件时,才能够触发断点。
  3. F5:启动调式,经常用来直接跳到下一个断点处,一般是和F9搭配使用。
  4. F11:逐语句,意思是每一次都执行一条语句,但是这个快捷键可以使我们的执行逻辑进入到函数内部,在函数调用的地方,想要进入函数观察细节,就可以使用F11,如果使用的是F10,则直接完成的是函数调用,无法进入到函数内部观察细节。
  5. CTRL+F5:开始执行不调式,如果想让程序直接运行起来而不调式。(当CTRL+F5不行可以使用CTRL+FN+F5)。

演示过程:⬇️⬇️⬇️

使用F10对下边代码进行调式:

#include<stdio.h>
int main()
{
	int a = 10; 
	int b = 20;
	int c = a + b; 

	char ch1 = 'a';
	int arr[5] = { 1,2,3,4,5 };  
	float f1 = 3.1415f;

	return 0;
}

那么语句是一条一条往下执行的,这时我们可以通过监视观察。

在这里插入图片描述


使用F9⬇️⬇️⬇️:
那么F9是打断点,你可以使用左击鼠标或者键盘上的F9进行打断点,选择到你想要的位置。

在这里插入图片描述

那么我们前边也说了断点是可以设置断点条件的,只有满足这个条件那么断点才能够触发,如何去设置呢❓
首先,设置好断点,然后右击鼠标,就可以看到条件选项。

在这里插入图片描述

看到下图,就可以自己设置想要触发的条件,最后回车即可。

在这里插入图片描述


F5的使用,F5是搭配F9使用的,当F9打上断点,按一下F5就可以直接执行到断点处,那么如何去使用呢⬇️⬇️⬇️

该图,前边的代码没有问题,那么我不需要去调式,我想调式后边的代码,那么如果是使用F10,你需要一条一条的走,那么是不是很麻烦,如果前边有着几百上千行的代码,那这太苦恼了。 所以,我们可以在想调式的位置打上断点,然后按一下F5,就可以到这个位置。

在这里插入图片描述

这样我们就可以到想调式的位置进行调式,而前边的代码也会被执行。

在这里插入图片描述


F11的使用⬇️⬇️⬇️

F11可以让我们进入到函数内部进行观察,当我对下边代码进行调式,我想要进入到函数内部就可以使用F11 。

#include<stdio.h>
int Add(int x, int y)
{
	int z = 0; 
	z = x + y;
	return z; 
}
int main()
{
	int a = 10; 
	int b = 20; 
	int ret = Add(a, b); 
	printf("%d\n", ret); 
	return 0;
}

当我的左边箭头走到函数调用时,直接按F11就可以进入到函数内部。

在这里插入图片描述

进入到函数内部⬇️⬇️

在这里插入图片描述

这样我们就可以细致的调式代码


CTRL+F5的使用🛠️🛠️

这个快捷键是直接运行程序代码生成可执行程序,当然了,我们也可以使用下图⬇️这个选项

在这里插入图片描述

有一些使用笔记本自带的键盘可能不行,那么可以使用CTRL+Fn+F5


🚀5. 监视和内存的观察


在前边快捷键的介绍中,我们可能会迷惑,左边的图是什么意思,其实是监视和内存的观察,那么这有什么用❓

其实是在代码调式过程中,可以观察到上下文环境中的变量的值,这些观察有一个前提,一定是开始调式后才能够观察。


👩🏻‍🚀5.1 监视


如何打开监视❓

在开始调试后,在菜单栏中的(调式)—> (窗口) —> (监视), 有4个监视口,喜欢打开那个都行,最后输入想要观察的变量即可。

一定要先进行调式才能够看到❗❗❗

在这里插入图片描述


👩🏻‍🚀5.2 内存

监视窗口可能看的不够仔细,那么内存窗口也是可以观察到变量在内存中的存储情况,一样的还是在(调式)—> (窗口) —> (内存),也有着4个窗口,喜欢哪个就打开哪个。

在这里插入图片描述

当我想看变量a在内存的存储,可以&a即可。

在这里插入图片描述


👋🏻 结束语


非常感谢您花时间阅读我的博客,希望我的分享能为您带来收获。如果您对本文有任何想法或疑问,欢迎在评论区留言交流。如果您喜欢我的博客,请继续关注,我会定期更新更多精彩内容。最后,别忘了行动起来的力量,让我们一起实践这些方法,见证自己的成长和进步!
🌻🌹🪻🌷🪻🌷🌼🌻🌺🌹🌺🌻🌼🌷🪻🌷🌼

再见,祝您生活愉快!


评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值