2015-11-6 15:17:05 周五
当拿到一个程序,要调试它。
那么怎么调试它呢?
首先要将代码编译成debug版本,
其次搭建debug环境。
接下去就可以进行调试了。
这些只是调试工作的准备工作,真正调试的工作还没有开始。
真正调试的是针对代码要达到的功能与代码实际跑的现象做对比。
如果代码现象跟目标要求不一样,
就要在调试器里查看代码的特征,在不一样的地方查看程序的debug信息,包括查看局部变量值、函数的处理过程等等。
调试驱动,是进行双机调试的。
安装被调试驱动的机器称作目标机,安装windbg的机器成为主机。
在目标机上运行驱动,在主机上debug调试目标机,设断点、查看变量、内存等等。
如果在调试器里看到的程序跟要求的结果不一样,就修改代码,重新生成驱动,
在目标机器上重新安装新编的驱动,
在主机上重新加载符号表,
启动debug,
在怀疑有问题的地方设置断点,也可以设置条件断点。
要调试一个代码,要清楚调试器怎么调试程序,怎么查看调试信息,怎么使用调试器,
代码的目标要求是什么样子,
代码的逻辑是什么样子。
如果遇到程序崩溃了,怎么查,
从程序的源头,从代码的逻辑入手,
把简单的调好了,在深入更深更复杂的逻辑调试。