一、什么是bug?
bug本意是“昆虫”或“虫子”,现在指的是程序漏洞(在电脑系统或者程序中一些未被发现的缺陷或者问题)
小知识:
二、什么是debug(调试)?
所谓debug就是消灭bug的意思。中文就是调试

想要调试一个程序,首先是承认出现了问题
之前,我在做一道简单的题目的时候,怎么提交都是失败,搞了好几次,我也没耐心了,发给我的学姐,结果你猜怎么着,我刚发过去,定眼一看,找到虫子在哪里了,感觉满不好意思的

为什么我之前一直发现不了,说好听些就是潜意思认为我没有错,而检查时带着这个潜意思,说不好听的,就是死犟死犟的。所以调试一个程序首先是你要承认出现了问题 。
然后我们需要用各种各样的手段去定位问题的位置,可能是通过逐个过程的调试,也可能是隔离和屏蔽代码的⽅式,找到问题所的位置,然后确定错误产⽣的原因,再修复代码,重新测试。
三、Debug和Release

在VS编写代码的时候就可以看到有 debug 和 release 两个选项,这两个选项分别是什么意思呢?
- Debug(调试版本):包含完整调试信息,无优化,便于程序员调试代码,生成的可执行文件较大(如 39KB)。
- Release(发布版本):经过优化,去除调试信息,代码体积小、运行速度快,适合交付用户使用,生成的文件较小(如 9KB)。
从同⼀段代码,编译⽣成的可执⾏⽂件的⼤⼩,release版本明显要⼩,⽽debug版本明显⼤。
四、VS调试快捷键
那程序员该怎么调试代码呢?
1.环境准备
说的很专业啊,其实就是把VS上设置为Debug
2.调节快捷键
调节几个常用的快捷键:
F9:创建断点和取消断点
F5:启动调试,经常⽤来直接跳到下⼀个断点处,⼀般是 和F9配合使⽤。
五、监视和内存观察

温馨提示:
想要找到以下的窗口,需要先创建断点并开始调试后才能找到

没有开始调试 也没有创建断点时
在合适的位置,按F9即可创建断点,按F5即可开始调试也可点开菜单中的调试

创建断点并开始调试后
1.监视窗口

在监视窗口观察:

2.内存窗口


六、常见的编程错误
1.编译型错误
2.链接型错误

3.运行时错误
七、实战演练
题目内容
求1!+2!+3!+4!……+10!的和,请看下面的代码

代码确实可以运行,但是得不到我们想要的结果,请调试找一下问题
首先,计算机是不会出现问题的,得不到我们想要的结果,说明 代码有问题 这个时候不要犟老老实实找bug,解决问题。
那么,该怎么找bug呢?
找bug的方式:
1.设置好断点,开始调试照着程序走
2.看看程序有么有按照我们预期的方式走
3.如果没有按照预期走说明有问题
准备好监视窗口,观察运行过程中 i n ret sum的值是否符合预期

发现不符合预期了,问题浮现了

- 观察
ret的值,发现其在每次外循环中未重置为 1,导致累乘结果错误 - 修复:在每次外循环开始时将
ret重置为 1。
结语:
分享一下,我老师的一些话

1000

被折叠的 条评论
为什么被折叠?



