在编写程序中,通过编译的程序往往也会存在错误(bug)。这种错误是运行错误和逻辑错误,它比语法错误更隐蔽,更危险。如何找出这些错误?在冗长的代码中,找出这些错误来并不是一件容易的事。排错(debug)是一件程序员不得不面对的麻烦事,但真正的程序员会把与bug战斗当成自己的神圣使命。
调试程序是程序员应该具备的基本能力。在学习编写程序过程中,学会调试程序是最实用的技能之一。可以纯粹依靠人工,一行一行,或一块一块地检查,思考,很累人。
在实际过程中,调试工作可利用IDE(集成开发环境,如VC++6.0,CodeBlocks)提供的工具进行。通过学会利用IDE调试程序的方法,掌握单步运行程序和使用断点的方法,并在过程中观察运行环境(最重要的是变量)的变化,从而在今后能够高效地完成程序的调试。
一、基本概念
1.单步执行
2.运行到光标
3. 设置断点
二、简单调试
1.认识调试
(1)调试菜单
(2)调试工具栏(在实际调试过程中,一般使用工具栏调试程序更方便、快捷)
2.准备调试
示例代码
#include <iostream> using namespace std; const double pi=3.1415926; int main( ) { double r,area; cout<<"输入半径:"<<endl; cin>>r; area=pi*r*r; cout<<"输出面积:"; cout<<area<<endl; return 0; }3.开始调试
注:找不到Watches窗口;在调试工具栏中点击Debugging windows,从弹出的快捷菜单中勾中"Watches"。
4.初试牛刀
调试代码
#include <iostream> using namespace std; int main() { int x; cout<<"请输入一个整数:"; cin>>x; if(x=1) cout<<"你输入的是1!"; else cout<<"你输入的不是1!"; return 0; }
三、设置断点和断点应用
断点是程序执行需要中断的地方。可以让程序中断在需要的地方,从而方便其分析。
技巧:在调试的过程中,可以直接使用Run to Cursor到下一个断点处停下来,从而避免多次的用Step Into、Next line等命令。一个程序中可以设多个断点,这也为调试提供了方便。
四、程序调试方法小结
上面仅介绍了程序调试的基本方法,但灵活运用可以为编写出正确的程序提供强大的支撑。
随着经验的增加,简短且算法简单的程序你可能凭观察就知一二。对需要观察其运行过程的程序,可以这样做:
寄语