目录
什么是bug?
bug是计算机领域专业术语,原意是臭虫,现在指程序上存在的漏洞和错误等。
调试的目的
调试,又称除错 ,是发现和减少计算机程序或电子仪器设备中程序错误的一个过程。
调试的目的:发现bug和修复bug。
一名优秀的程序 是一名出色的侦探。
调试的基本步骤
1.发现程序错误的存在。
2.以隔离,消除等方式对错误进行定位
3.确定错误产生的原因。
4.提出纠正错误的办法。
5.对错误予以改正,重新测试。
Debug和Release的介绍
如下面所示,在工程中,我们会看到Debug和Release两种版本
Debug通常称为调试版本,它包含调试信息,并且不做任何优化,便于程序员调试程序。
Release称为发布版本,它往往是进行了各种优化,使程序在代码大小运行速度上都是最优的,以便用户更好的使用。
我们在自己写代码时选择Debug版本,以便更好的发现错误和改正错误。
windows环境调试介绍
1.选择Debug调试版本
2.学会快捷键
F9
设置断点,断点的作用是使程序运行到断点处停止
断点就是上图中的那个小红点,再按一下F9断点会消失。
F5
启动调试和F9配合使用,F9将断点设置好后,用F5可直接跳到断点处。
F10
逐过程————按一下F10程序往下走一步。
F11
逐语句,就是每次都执行一条语句但是这个快捷键键可以使我们的执行逻辑进入函数内部。
ctrl+F5
使程序直接运行而不进行调试
shift+F5
终止调试
3.调试窗口的使用
学会使用调试窗口,对寻找错误会有很大帮助
接下来以下面这段代码为例,进行讲解
#include<stdio.h> int main() { int i = 0; int arr[] = { 1,2,3,4,5,6,7,8,9,10 }; for (i = 0; i < 10; i++) { arr[i] = 9; } }
1.局部变量窗口
这个窗口可以查看局部变量的值及其变化
2.监视窗口
监视1.2.3.4都可以使用。监视窗口使用最广泛,极为方便,可自行输入要查看的变量或变量的地址。
3.内存查看窗口
内存窗口,可以 查看内存信息
要查询对象可自行输入。
4.调用堆栈窗口
此窗口用下面这段代码进行讲解
#include<stdio.h> void test3() { printf("一键三连\n"); } void test2() { test3(); } void test1() { test2(); } void test() { test1(); } int main() { test(); }
像栈一样的展示函数调用逻辑
可观察到函数一步一步的调用逻辑