00:00
同学们,我们来看几个断点调试的应用案例,先看第一个,第一个案例呢,我们通过断点调试来看一看变量的变化情况,首先我们把这段代码拿过来用一下哈,代码都非常简单,大家看这段代码是要做一件什么事情,能看出来吗?同学们先看一下这段代码,他要做一件什么事情,是不是这有一个sum,这有个I,然后一个for循环?是零到十,零到十的一个for循环,然后呢,求出它的一个和求出来一次呢,把这个I输出,把这个sum求出,把这个sum也输出来,然后最后呢,For循环结束以后,输出这个退出for循环来,我们我们想在这个过程中看一下这个sum,还有这个I到底是怎么变化的好不好,我们来给大家运行一下。来给同学们演示一下吧。好,这边呢,我们先注销一下好吧。那现在呢,我们新建一个小章节,这应该是我们的CHAPTER12了。
01:01
来新建一个章节,好吧。Chapter。幺二。那幺二呢,我们先写的是第一个,第一个那测试文件叫debug DEMO。第八个DEMO好,跟上老师思路。跟上老师思路,然后呢,我在这边给他来换一下后缀名。跟着老师思路哈。Include include std,对,然后呢,我们VO。主函数。啊,在这里面呢,我们把这个代码拿过来用一下。好,这行我不要了,这行呢,我们也不要了。首先呢,嗯,首先我们看一下这个下断点是怎么来下的,下断点点我这双击一下。大家看,当我双击完了过后,你们有没有发现这边呢,出现了一个。同学们看,这里出现了一个小的小的圆小的一个按钮啊,圆圈的一个按钮,那么这就代表待会我启动这启动这个调试的时候呢,代码会执行到这就停下来了,它等待你,等待你的一个调试,那现在呢,我们来怎么怎么看这个按钮呢,大家看调试,大家看这里面是不是有个F5啊,你可以在这。
02:25
点这个选这个点一下这个这个这个菜单项,或者直接输F5就可以了,如果你你不想调试,你指向执行就输这个CTRL加F5,你看我们以前。我们这个地方就是CTRL加F5这个快捷键也是可以让输的。呃,我我每次是这样点的嘛,你如果点这个按钮呢,它只是执行不调试,如果你点的是这个按钮,也就是F5这个快捷键,你输F5快捷呢,它就开始调试了,好那么调试的时候呢,你们有注意观察代码,会执行到这它就停下来了。
03:03
这边会出现一个箭头顶在这的。大家可以看到,诶,你看同学们看。你看同学们看这这个控制台停在这的,那么我们这有一个箭头,就是现现在同学们看到这个小箭头就代表说告诉你啊,我们代码已经执行到这里了。执行到这里了,那执行到这里呢,我他告诉你现在sum和I呢,现在的值是一个未知的值,是一个是一个未知值,因为你还没有执行它,好现在呢,我们来开始调试,大家看这里面有好些选项。对不对,其中有F11,有F这个主语句,还有主过程,那么这个主语句呢,它会进入到我们函数体,如果逐过程呢,就是一句一句的执行,如果遇到函数呢,它会当做一条语句执行,所以说现在我们应该输哪个呢?输F10。好,你看执行到这,哎,同学们有没有发现,当我往下按一下的过后呢,这个sum就变成零了,说明你执行完这句话以后呢,Sum就被初始化为零了,明白吧,现在I没有变化,所以说我可以再来输这个快捷键。
04:10
但是我我为了讲课呢,我是这样子,用这个菜菜单选项来替代快捷键的,你们在实际的这个,嗯,开发中可以直接输这个F11好不好,F10或者F11就可以了,那我们再来一下。好,你看I也变成零了,现在我们一步一步执行了,大家看走起来逐过程,是不是现在上现在还没有加呀,我们再来玩一把走主过程。对,现在呢,在读过程是不是你看这个时候上变成几了,因为是零加零,所以它没有变化,再来走好看控制台其实已经有输出了,刚才你执行到print f的时候呢,这边控制台就输出了一个I等于零,但是上午还没有输出,因为你还没有执行这句话,现在呢,我继续来执行。
05:02
看,执行完这句话过后,你会发现控制台呢,又多了一句话,Sum也等于零,好玩吧,就是这个方法呢,它可以让我们一步一步的看到这条语句各个语句执行的过程,那下面我就直接再来走一下啊过程,你看再来走走过程。这时你会看到sum呢,现在I已经变成一了,他告诉你说,现在I已经变成一了,上仍然是零,再来走一个。我说了啊,你们用快捷键可以的往下走,你看我一步一步的执行,整个流程都可以看到。啊,整个流程都可以看到,是不是你看这边已经输到这了,好下面我就不一个一个执行了啊,那就快速的走一下。快速走一下,我因为我这个快捷键呢,就是老师这个快捷键已经坏了,我的我的电脑不知道为什么快捷键好像被另外一个占用了,所以说我这就只能一步一步这样去执行,好吧,我给他执行一下快,你看这变化很快的走。
06:00
好,走走,我们最终呢,会找到一个点,它会退出这个Y循环再走。好,再来哈,快速的走,现在已经到I已经到三了,对不对,I已经到三了。好,我们再来走一下。好,这句话呢,有点慢,对不对?好,再来走。那现在呢,我可以下一个断点,大家看我可以在这再下一个断点。对,那么在下一个断点呢,我觉得这样太啰嗦了,我可以下一个断点,我想让这个代码呢,直接执行到print f。好不好,就是因为我这样一句执行呢,我觉得太太慢了,我想这个过程我已经看够了,就说我觉得这个过程。我觉得没什么问题,我想直接执行到F这句话,我又下了一个断点,这个时候我们应该输哪个呢?各位同学,这个时候我们要输入的是这个F5。这个F5刚才我们讲过,它它有两个作用,一个作用呢是开始执行调试,第二个呢,它可以执行到下一个断点,而你下一个断点呢,就是它。
07:07
那这个时候你会看到它这个箭头直接就奔这儿来了。那奔这来了过后,你会看到这个sum和I也会有相应变化,那这个I呢,就应该等于几呢?等于十了,来看一下,来同学们看啊走,是不是直接到这来了。到这来以后,你们会突然发现这个sum呢,已经把最后结果拿到是45,而I呢,等于40,也就是说I退出来的时候,其实它等于十的。但是这个时候我们看控制台已经输出了很多内容,只是这个退出for循环还没有执行,因为你还没有执行这句话对不对?好,现在我再来执行,下一个就是F10,那么这句话也会输出。看到没有,这个时候就应该到哪呢。For循环退出了,如果这个时候你再执行一下主语句,那么这个程序就退出了。好,你看再执行一下这个程序就执行到哪呢,说我们到已经推到这个源代码去了,源代码它这要开始退出我们这个整个这个程序了,好这时呢,我们就可以终止我们这个调试啊,终止这个调试,终止调试点了这个键,大家看这个键是shift加F5。
08:12
我这里呢,就不去按快捷键了,点一下终止了。终止完了过后呢,这个整个程序你就推出出来了,明白了吧?好,这就是老师给大家讲解的第一个第一个的第一个调试的应用案例,什么呢?叫做逐过程看变量的变化,理解了吗?啊,同学们多用几次就好了,好这个调试锻炼调试的第一个英文案例就给大家先讲解到这里,大家呢,最好自己像老师一样玩一把,看看我们的I还有上午的一个变化,你就你就对这个断点调试呢,有一个相对,呃,就是形象的一个认识,好这一讲我们先先先讲个讲解到这里。
我来说两句