bug问题如何解决?如何找到bug?------调试
Bug是什么?Bug是怎么来的呢?
bug的英文意思就是臭虫, 我们计算机的第一个bug就是因为一只已经死的臭虫进入到了计算机里面导致出现错误,因此我们把'计算机错误'称为Bug。
调试是什么?
调试(英语:debug),又称除错,是发现和减少计算机程序或电子仪器设备中错误的一个过程。
调试的基本步骤
- 发现程序错误的存在
- 以隔离、消除等力式对错误进行定位
- 确定错误产生的原因
- 提出纠正错误的解决办法
- 对程序错误予以改正,重新测试
Debug和Release的介绍
- Debug 通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序;
- Release 称为发布版本,它往往是进⾏了各种优化,使得程序在代码⼤⼩和运⾏速度上都是最优的,以便⽤⼾很好地使⽤。
debug版本用于我们调试,release版本用于服务客户。
1.调试环境准备
debug是我们可以调试的开发环境,我们首先要设置为debug,如图:

2.调试快捷键

F10
- F10:逐过程,通常⽤来处理⼀个过程,⼀个过程可以是⼀次函数调⽤,或者是⼀条语句。

第二步:打开监视窗口

然后监视窗口打开之后如下:

- 按3次f10,运行程序

当然我们也能通过监视界面看到i的地址,需要输入&i就可以了。

F9 +F5
- F9:创建断点和取消断点
- 断点的作⽤是可以在程序的任意位置设置断点,打上断点就可以使得程序执⾏到想要的位置暂定执⾏,接下来我们就可以使⽤F10,F11这些快捷键,观察代码的执⾏细节。
- 条件断点:满⾜这个条件,才触发断点
- F5:启动调试,经常⽤来直接跳到下⼀个断点处,⼀般是 和F9配合使⽤。
- f9+f5控制程序运行位置

就会出现下面的红点,红点就是我们创造的断点。

- 再按f5,我们就可以将程序直接跳转到红点所在的位置。前面的赋值循环就直接跳过了。

F11
- F11:逐语句,就是每次都执⾏⼀条语句,但是这个快捷键可以使我们的执⾏逻辑进⼊函数内部。在函
- 数调⽤的地⽅,想进⼊函数观察细节,必须使⽤F11,如果使⽤F10,直接完成函数调⽤。
当箭头指向29行的时候我们按下f11


就可以进入函数内部了!
CTRL + F5
CTRL + F5:开始执⾏不调试,如果你想让程序直接运⾏起来⽽不调试就可以直接使⽤。
3.查看内存信息


4.实践
现在就是调试的实操了!
算出1!+2!+3!+...+n!

但是算出的结果为15

目前没有问题,我们继续去查找

然后我们继续

找bug需要耐心,别着急喔

然后我们发现了问题,ret应该=3!,为什么ret=12呢?
接着我们往回看看

原来在我们算2!后,我们的ret并没有重新变回1,
而是将2!的值继续带着,然后就有了ret=2!× 3!= 12
解决方案:只需要把int ret = 1;的位置改变一下就可以了。



版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/11385.html