目录
一、前言
这一期的文章为大家介绍了一些调试技巧,希望能在大家调试的时候帮助大家提升效率和逻辑水平。码字不易,还请多多点赞支持,有你们的支持,我才能写出更好的文章。
二、bug是什么?
计算机程序、硬件里面存在的缺陷或是错误就叫bug
三、调试是什么?有多重要?
1.调试是什么
找bug的过程就叫调试
调式又称除错,是发现和减少计算机程序或电子仪器设备中程序错误的一个过程
2.有多重要
当程序出现bug的时候,通过猜测的方式来寻找并解决bug,这种方法一般称之为迷信式调试,是非常不可行的。应该要拒绝迷信式的调试,而是要科学的调试。
迷信式的调试在这里试一试,在那里试一试,会非常的费时费力;而科学的调试是按照步骤
一步一步的进行,相对于迷信式调试,会节省很多时间和精力。
3.调式的基本步骤
- 发现程序错误的存在
- 以隔离、消除等方式对错误进行定位
- 确定错误产生的原因
- 提出纠正错误的解决办法
- 对程序错误进行改正,重新测试
四、Debug和Release的介绍
⛳.Debug
Debug通常称为调试版本,它包含了调试信息,并且不作任何优化,便于程序员调试程序。
⛳.Release
Release称为发布版本,它往往是进行各种优化,使得程序在代码大小和运行速度上都是最优秀的,以便用户很好的使用。
通过上面两张图片可以清楚的发现Release发布版本比Debug调试版本更小。
⚠️
注意:Debug调试版本可以调试,而Release发布版本不可以调试
可以看到 Debug版本可以一步一步的调试
而Release版本不可以调试
五、Windows调试环境介绍
1.调试环境的准备
2.快捷键
3.常用的几个快捷键
⛳.F5和F9
F5:启动调试,经常用来直接跳到下一个断点处
F9:创建断点和取消断点的重要作用,可以在程序的任意位置设置断点。这样就可以是程序在想要的位置随意停止执行,继而一步一步执行下去。
F5和F9一般都是配套使用的。F9设置或取消断点,F5启动调试
F5和F9可以用来寻找程序当中的bug
⛳.F10
逐过程,通常用来处理一个过程,一个过程可以是一个次函数调用,也可以是一条语句。
调试代码时在键盘上按住F10,来实现逐过程的调试,可用来细致的查看代码运行细节
⛳.F11
逐语句,就是每次都执行一条语句,但是这个快捷键可以使我们的执行逻辑进入函数内部(这是最常用的)
F11比F10观察还要仔细,是一条语句,一条语句的调试。
大部分情况下F10和F11是一样的,只不过在遇到函数的时候F11可以进入到函数内部,观察的更加细致
⛳.CTRL+F5
开始执行不调式,如果你想要程序直接运行起来而不调式就可以直接使用
只获得程序的运行结果,不调式
4.调试的时候查看当前程序信息
要先按F10才可以显示这些窗口
⛳断点窗口
⛳监视窗口
程序员在监视窗口里面观察程序相关的信息
⛳自动窗口
⛳局部变量窗口
局部变量窗口监视的是程序执行到当前位置的时候上下文环境中的局部变量,它会自主放到局部变量窗口监视
⛳内存窗口
⛳反汇编窗口
⛳寄存器窗口
⛳调用堆栈窗口
如果想看函数的调用逻辑,就可以打开调用堆栈窗口
关于压栈和出栈,我在结构体的文章有介绍,下面是连接卡片
5.多多动手,尝试调试,才能有进步
- 一定要熟练掌握调试技巧
- 初学着可能80%的时间在写代码,20%的时间在调试。但是一个程序员可能80%的时间在调试,20%的时间在写代码。
- 我们所讲的都是一些简单的调试。以后可能会出现很复杂的调试场景:多线程程序的调试等
- 多多使用快捷键,提升效率