V S2008 简单调试方法 程序的错误通常可以分为若干类,语法错误,链接错误,逻辑错误
语法错误是比较容易查找并且修改的,而且编译给出的提示信息也比较完整,所以容易修改
链接错误来源很多,常常由于和系统、库函数等方面的原因出错,难以一言蔽之
最后是逻辑错误,也就是学生在实验课上碰到的难点,因为系统没有给出明确的提示,同学也只是知道运行错误,那么如何找到并修改运行错误就非常重要
下面以一个实例简单介绍一下调试过程,当然更加深入的还需自己多练习,学习
该文档所举例子为VS2008,同样适用于VS2005,VC++6
1 一个实例 一个链表的程序,包括主程序Win32_C_Proj
cpp 文件,Bu cket
h 和Bu cket
cpp,其中Bu cket 用链表的方式实现一个容器
如下分别展示了 main 函数,bu cket 的插入元素函数和类的数据定义
运行结果如下图 运行该程序,我们要的结果是1 ,2 ,因为是再第一位置插入1 ,第二位置插入2
而现在这个程序的输出结果却是2 ,1 ,和我们预想的不符合,说明程序设计过程中存在逻辑上的错误,也就是算法设计的问题
2 初步发现问题 接下来第一步就是要发现问题
程序就那么几句,很明显,我们需要做的第一步就是确定错误的大至位置
按F10 运行程序,运行程序如下: 其中1 位置是调试常有的工具按钮,2 位置的箭头指示的是当前程序运行到的位置
工具按钮中八个按钮分别是: 继续运行(F5,会运行到下一个断电停止,如果没有断点,则运行到结束)、 停止运行(不结束程序ctrl+shift+F5)、 结束运行(结束程序调试 shift+F5 )、 重新启动、 显示下一个语句、 运行到函数内部(如果当前语句是一个函数)(F11) 运行到同层的下一条语句(F10) 跳出当前函数(shift+F1