Download presentation
Presentation is loading. Please wait.
1
调试技巧
2
小黄鸭调试 在旁边摆上一个同学 让他帮你看看你的代码为何错了 跟他讲解你的代码 BUG神奇的被自己发现了 同学并没有派上用场
为了避免耗费人力物力请将同学替换为小黄鸭
3
小黄鸭调试
4
逐步调试 无脑,直观,逻辑性强,工作量大 使用各种IDE的基本差不多的DEBUG功能
Breakpoint, Run, Next, Step, Continue, WAtch Print, Display 通过调用GDB给用户呈现可视化程度高的界面
5
GDB
6
GDB
7
GDB List(l) 展示当前行上下的代码块。可通过set listsize条件块的大小,默认为10。 可通过list+, list-来查看当前代码块之后或之前的代码块。 Run(r) 运行。 Break(b) 设置断点。可用info break查看当前断点信息。通过delete或clear 来删除断点。 Next(n) 单句执行。 Step(s) 进入函数。 Continue(c) 运行至断点。 WAtch(wa) 添加条件断点。 Print(p) 展示变量值。 Display(disp) 每次操作之后都展示一次变量值。可用undisplay取消持续展 示。 Quit(q) 退出GDB。
8
输出调试 需要正确的设计,高效快速 请在DEBUG完成之后注释或删除该部分 输出过程中的重要变量 输出警告
9
输出变量
10
输出警告
11
分块调试 需要额外的正确代码,代码功能模块性较好,无脑,有效
将代码的某个部分替换为正确代码,根据替换后的正确性可判断出BUG的位 置,缩小查错区域
12
分块调试
13
对拍器 需要额外正确代码,需要额外数据生成代码 查错能力极强并一定程度上取决于数据生成代码 不断的生成不同的数据 分别运行两份代码
对比代码结果直至不同 保留数据以供进一步排错
14
对拍器
Similar presentations