1 什么是BUG
相传某个实验室最开始出现了问题,技术人员不断排查,最后在机箱内发现了一个死虫子,就是这个虫子死在那,导致了问题,BUG的英文释意也是虫子。所以后来也就用bug代表计算机问题、缺陷。
2 调式
所有的问题都有迹可寻,由问题到内在逻辑,再到最后的解决问题
2.1 调试是什么
调试 debug,除去bug,就是减少bug的过程。
2.2 调试的基本步骤
- 发现错误的存在
- 以隔离、消除等方式对错误进行定位
- 确定错误产生的原因
- 提出纠错的办法
- 对程序错误进行改正
2.3 debug版本和release版本
debug版本通常称为调试版本,让程序编写者不断测试,最后得出优化代码。
release版本称为发布版本,往往进行了各种优化,使得程序代码在大小和运行速度上都是最优的
可以看到release版本内存明显更小了
3 windows环境调试介绍
调试前,一定要把版本设置成debug版本,否者无法进行调试
3.1 快捷键
F5:启动调试,经常用来跳到下一个断点处
F9:创建断电和取消断点,断点的重要作用就是能够让程序在任意位置设置断点,当调试到这停止,这样就能够停到自己想要的位置,在一步一步进行调试。
F10:逐过程,通常用来处理一个过程,比如不想调试函数,F10直接跳过函数,并不进入函数内部
F11:逐语句调试,最常用的就是进入函数内部调试
ctrl+F5:开始执行不调试
3.2 调式内容
调试能够看到、观测的内容非常多,比如内存窗口、寄存器窗口、反汇编等。
4常见错误
编译型错误:直接双击错误信息即可查看
链接型错误:看到错误提示信息,然后找到其中一些关键标识,一般都是标识错误,或者未定义
运行时错误:需要借助错误,一般都是逻辑错误。
5 调试技巧
在编写程序代码的时候,应该按照一个模块一个模块的进行写,然后写完一块进行调试一下,看看能否达到自己的心理预期,千万不要等待全部写完了再来调试,那会是非常痛苦的一个过程。在调试的时候,找准关键变量,观测变量的数值变化,往往能够找到错误。