第八讲 VS使用调试技巧
1 什么是bug?
本意是“虫子”、“昆虫”。现在bug简称“程序漏洞”。
2 什么是调试?
当我们发现程序有bug时,下一步就是找到此问题,然后修复问题。
这个找问题的过程称为调试,英文叫debug(消灭bug的意思)
3 debug和release
在VS上编写代码时,就能看到这两个选项
- Debug通常称为调试版本,包含调试信息,并且不作任何优化,便于程序员调试程序
- Release称为发布版本,往往是进行了各种优化,使得程序在代码大小和运行速度上都是最优的,以便用户很好的使用。Release版本是可执行程序,这个版本是账户使用的,无需包含调试信息等。
4 VS调试快捷键
4.1 环境准备
将VS设置为Debug模式
4.2 调试快捷键
**F9:**创建断点和取消断点,断点的作用是可以在程序的任意位置设置断点,打上断点就可以使得程序执行到想要的位置暂定执行,接下来我们就可以使用F10、F11这些快捷键,观察代码的执行细节。
条件断点:满足这个条件,才触发断点。右击断点,选择条件设置即可
**F5:**启动调试,经常用来直接跳到下一个断点处,一般是和F9配合使用
不是跳到物理上的断点,是逻辑上的断点
**F10:**逐过程,通常用来处理一个过程,一个过程可以是一次函数调用,或者是一条语句。
F11:逐语句,每次执行一条语句,但是这个快捷键可以使我们的执行逻辑进入函数内部。在函数调用的地方,想进入函数观察细节,必须使用F11,如果使用F10,直接完成函数调用
**CTRL+F5:**开始执行不调试,如果你像让程序直接运行起来而不调试就可以直接使用
VS更多快捷键了解:VS中常用的快捷键_vs快捷键-CSDN博客
5 监视和内存观察
5.1 监视
开始调试后,在菜单栏中【调试】-》【窗口】-》【监视】,打开任意一个监视窗口,输入想要观察的对象就行。
5.2 内存
如果监视窗口看的不够仔细,也是可以观察变量在内存中的存储情况,【调试】-》【窗口】-》【内存】
在打开内存窗口后,要在地址栏输入:arr,&num,&c,这类地址,就能观察到该地址处的数据。
6 编译常见错误归类
9.1 编译型错误
一般是语法错误,根据错误信息可以判断是什么错误
9.2 链接型错误
一般为:
- 标识符名不存在
- 拼写错误
- 头文件没包含
- 引用的库不存在
9.3 运行时错误
运行时错误,是千变万化的,需要借助调试,逐步定位问题,调试解决的是运行时问题
大部分问题,可以通过定位问题位置,想出常见错误去解决
较难的错误就根据打断点,一步一步调试去解决