程序设计实验三.ppt
文本预览下载声明
程序设计基础实验 教师: 叶晓霞 E_mail: xiaoxia7761@ Tel: 调试器的应用 基本的调试方法 标准数据检验: 运行调试的一般方法就是用若干组已知结果的标准数据对程序进行检验。标准数据的选择非常重要,首先要有代表性,要接近实际数据;其次还要较为简洁,容易对其结果的正确性进行分析。另外,某些重要的临界数据也必须单独进行检验。 简化 在调试时,有时可以通过对程序进行某种简化来加快调试速度。例如减少循环次数、缩小数组规模、屏蔽某些次要程序段(如一些用于显示提示信息的程序段)等。在进行简化工作时.要注意简化的尺度,一定不要简化到无法代表原来程序真实情况的地步。 Visual C++的跟踪调试功能 程序跟踪是一种最重要的调试手段。其基本原理是让程序一句一句地执行,编程者通过观察和分析程序执行过程中的数据和程序执行流程的变化来查找错误。 Visual C++的调试器功能非常强大,可以帮助编程者查看了解程序运行状况,找到在程序设计中可能遇到的几乎每个错误。调试器的主要调试手段有设置断点、跟踪和观察。 断点:是编程者在程序中设定的某一特殊的位置,当调试运行时,程序的执行流程到达断点后会自动停下来。此时,编程者就可以从容地对程序变量、表达式、调试输出等信息进行观察,了解程序的运行情况。 调试状态 如果选择Go选项(或使用快捷键F5).程序将在调试状态下运行。注意,在VC++6.0中,调试状态(F5)与执行状态(Ctrl+F5)是不同的 。调试状态下运行将在断点处暂停。此时,编辑器左边框上的对应位置会出现一个黄色箭头,指示被中断的语句。Visual C++的版面布置也会一些发生变化,菜单栏中Build(生成)菜单项会消失,替代它的将是Debug(调试)菜单项,同时与该菜单项对应的还会出现一个Debug工具栏。 调试状态 调试工具栏 Debug工具栏提供的功能选项很多,可将它们分为4个区,头两个区中是一些比较常用的调试命令。第1区包括: (1) Restart(快捷键为CtrI+Shift+F5):终止当前的调试过程,并重新开始执行程序,停在程序的第1条语句处(类似Step Into命令的结果)。 (2) Stop Debugging(快捷键为Shift+F5):退出调试器,同时结束调试过程和程序运行过程。 (3) Break Execution:终止程序运行,进入调试状态。多用于终止一个进入死循环的程序。 (4) Apply Code Changes(快捷键为Alt+F10):如果源程序在调试过程中发生改变,则使用该选项重新进行编译。 DEBUG工具栏 第2区包括5个图标: (1) Show Next Statement(快捷键为Alt+Num*)t显示下一语句。 (2) Step Into(快捷键为F11):如果是一条语句,则单步执行;如果是一个函数调用,则跟踪到函数第一条可执行语句。 (3) Step Over(快捷键为F10):单步执行。如果是一条语句,则单步执行;如果是一个函数调用,将此函数一次执行完毕,运行到下一条可执行语句. (4) Step Out(快捷奠为Shift+Fll)。从函数体内运行到外,即从当前位置运行到调用该函数语句的下一条语句。 (5) Run To Cursor(快捷键为CtrI+F10).从当前位置运行到编辑光标。 DEBUG工具栏 第3区是一个眼镜图标(Quick Watch,快捷键为Shift+F9).用于弹出一个对话框,可观察当前编辑位置的变量的值。 第4区有6个图标,分别用予激活6个调试器窗口: (1)观察窗口(Watch)用于观察指定变量或表达式的值。可任意添加要观察的变量或表达式,并可用标签的形式(Watchl,Watch2.Watch3等)增加多组观察对象。 (2)变量窗口( Variables)用于观察断点处或其附近变量的当前值。Variables有3个标签,Auto标签显示变量和函数返回值,Locals标签显示当前函数的局部变量,this标签显示this指针对象。在Variables窗口中,双击一个变量并输入新值会改变该变量的值。 (3)寄存器窗口(Register)用于观察在当前运行点的寄存器的内容。 (4)内存窗口(Memory)用于观察指定内存地址内容。 (5)调用栈窗口(Call Stack)用于观察调用栈中还未返回的被调用函数列表。调用栈给出从嵌套函数调用一直到断点位置的执行路径。 (6)汇编代码窗口(Disassembly)用于显示被编译代码的汇编语言形式。 DEBUG工具栏 调试器窗口汇集了许多信息,但通常并不需要同时观察所有的信息。太多的观察窗口会与编辑
显示全部