1、什么是bug
第一次被发现的导致计算机错误的飞蛾,也是第一个计算机程序错误
2、调试是什么?有多重要?
调试是什么?
调试(英语:Debugging/Debug),又称除错,是发现和减少计算机程序或电子仪器设备中程序错误的一个过程
调试的基本步骤
- 发现程序错误的存在
- 以隔离、消除等方式对错误进行定位
- 确定错误产生的原因
- 提出纠正错误的解决办法
- 对程序错误予以改正,重新测试
Debug 和 Release 的介绍
Debug通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序(F10可以逐行调试)
Release称为发布版本,它往往是进行了各种优化,使得程序在代码大小和运行速度上都是最优的,以便用户很好地使用(F10会直接跨过多行)
软件开发过程:立项、需求收集、需求分析、设计、开发、测试、验收、发布上线
3、Windows环境调试介绍
tip:linux开发环境调试工具是gdb(C/C++),后期课程会介绍
调试环境的准备
学会快捷键
F5 - 开始调试,不会单独使用,一般是和F9断点配合使用(有些编译器会一闪而过,此时就是与CTRL+F5的区别),可以在调试过程中取消断点以解决陷入逐次循环难以跳出的问题(或右键断点设置条件断点)
F9 - 切换断点/设置(取消断点),右击条件可设置为条件断点
F10 - 逐过程(不进函数)
F11 - 逐语句(进函数,更细致)
CTRL+F5 - 开始执行不调试,程序直接运行而不调试
SHIFT + F11 - 跳出函数
调试的时候查看程序当前信息
调试->窗口->监视、自动监视、局部变量、内存、调用堆栈、反汇编、寄存器
栈:先进后出
队列:先进先出
4、实例
1
实现代码:求 1!+2!+3! …+ n! ;不考虑溢出
//低效方法
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
int n = 0;
int i = 0;
int sum = 0;
for (n = 1; n <= 3; n++)
{
int ret = 1;//此处ret重新定义为1很关键;每次循环结束ret相当于离开作用域,所以不算重定义
for (i = 1; i <= n; i++)
{