去介绍一些你不了解的东西, 去争取, 去相信自己可以改变一些事情! – <一个人的朝圣>
目录
17. 调试技巧
17.1 调试的定义
- 调试(Debugging/Debug),又称除错,是发现和减少计算机程序或电子仪器设备中程序错误的一个过程。
17.2 调试的基本步骤
- 发现程序错误的存在
- 以隔离、消除等方式对错误进行定位
- 确定错误产生的原因
- 提出纠正错误的解决办法
- 对程序错误予以改正,重新测试
17.3 Debug 和 Release
17.3.1 Debug
- Debug通常称调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序。
17.3.2 Release
- Release称为发布版本,它往往是进行了各种优化,使得程序在代码大小和运行速度上都有是最优的,以便用户很好地使用。
- Release版本的文件相对来说比Debug版本的文件小一些。
17.4 常用的快捷键
- F5 启动调试,经常用来直接调到下一个断点处。
- Shift+F5 停止调试 。
- Ctrl + F5 开始执行不调试(即直接让程序运行起来而不调试)。
- F9 创建断点和取消断点。
- Ctrl+Shift+F9 删除全部断点。
- F10 逐过程运行程序,通常用来处理一个过程,一个过程是一次函数调用,说着是一条语句。
- F11 逐语句,每次执行一条语句,这个快捷键可以使我们的执行逻辑进入函数内部。
17.5 调试时查看程序的当前信息
17.5.1 查看临时变量的值
- 调试–>窗口–>监视–>监视1
17.5.2 查看内存信息
- 调试–>窗口–>内存–>内存1
17.5.3 查看调用堆栈
- 调试–>窗口–>调用堆栈
- 通过调用堆栈,可以清晰的反应函数的调用关系以及当前调用处的位置。
17.5.4 查看汇编信息
- 鼠标右键–>转到反汇编
- 窗口–>反汇编
17.5.5 查看寄存信息
- 窗口–>寄存器
17.6 常见错误分类
17.6.1 编译型错误
- 直接看错误信息,解决问题,或者凭借个人经验来解决。
17.6.2 连接型错误
- 看错误提示信息,主要在代码中找到错误信息中的标识符,然后定位问题存在,一般是标识符不存在或者拼写错误。
17.6.3 运行时错误
- 借助调试,逐步定位问题。