程序调试简介.ppt_第1页
程序调试简介.ppt_第2页
程序调试简介.ppt_第3页
程序调试简介.ppt_第4页
程序调试简介.ppt_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、程序调试,调试是一个程序员最基本的技能,其重要性甚至超过学习一门语言。 不会调试的程序员就意味着他即使会一门语言,却不能编制出任何好的软件。,程序调试入门,什么叫程序调试 所谓程序调试,是将编制的程序在正式投入实际运行前,用手工或编译程序等方法修正语法错误和逻辑错误的过程。 通俗地说,程序调试就是查错与修改。 这是保证计算机信息系统正确性的必不可少的步骤。 编完计算机程序,必须送入计算机中测试。,错误种类,语法错误:词法错误和句法错误 执行错误: 是指程序设计人员用正确地语法的程序,去执行不可能或不合法的操作。 例如,用0去除。 逻辑错误(设计意图错) 是指程序执行正常结束,但产生错误结果。,

2、静态跟踪用典型数据在头脑中运行程序,看能否得到预定的结果,#include void main() int fac(int n); int n, y; printf(input a integer number:); scanf(%d, ,动态调试插入打印语句,#include void main() int fac(int n); int n, y; printf(input a integer number:); scanf(%d, ,VC+6.0环境下程序调试,程序调试是程序设计中一个很重要的环节, 程序调试分为源程序语法错误的修改和逻辑设计错误的修改两个阶段。 语法错误:在程序编译时,

3、编译器可指出。 逻辑设计错误:程序员利用调试工具手工检查和修改。,1.查找源程序中的语法错误,一般错误(error) 警告错误(warning) 警告(warning)比一般错误(error)更难修改,因此应尽量消除警告错误(warning) 双击出错提示信息或按F4可以返回到源程序编辑窗口,并通过箭头符号定位到可能产生错误的语句。,2.用程序调试器Debug调试程序,为了查找和修改程序中的逻辑错误, Visual C+ IDE Integrated Development Environment 面向对象的集成开发环境 提供了重要的调试工具-Debug,Debug的启动,Debug的启动 单

4、击Build-Start Debug菜单中的菜单项, 可以启动 Debug,调试程序的基本内容,调试运行 单步跟踪 单步跳进跟踪 观察自动变量 观察其他变量 停止调试,单步跟踪,1. 打开某文件 (例:双击某文件 例1 .c ) 2. 编译、连接和运行该文件 3. 调试运行该程序 4. 按功能键F11 5. 继续按功能键F11 附:如果不想进入被调用函数的内部, 按功能键F10,相关功能键的说明:,Step into-F11 单步执行程序的每一条指令,能进入被调用函数的内部。 Step Out-Shift+F11 当调试进入被调用函数的内部时,可快速执行完此函数。 Step Over-F10

5、单步执行程序的每一条指令,当遇到一个函数时该函数被执行,单并不进入该函数内部。,调试计算5的阶乘,#include void main() int i=1; i = i*2; i = i*3; i = i*4; i = i*5; printf(“value of i is: %d”,i); ,观察,Variable窗口用于观察变量的当前值。 Watch窗口观察变量和表达式的值。,单步跳进跟踪设置断点跟踪调试步骤,1. 打开某文件 例:双击某文件 例1 .c 2. 编译、连接和运行该文件 3. 调试运行该程序 4. 设置断点 5. 再次调试运行程序 6. 使用单步执行程序到结束,1:打开jiec

6、heng程序(项目),2:运行该程序- 确定程序可以运行,3:调试运行阶乘程序,4:设置断点,将鼠标停留在程序的第8行, 在第8行的任意地方单击鼠标左键 (第8行即“i = i*4;”) 在工具栏上选择 按钮,为第8行设置断点,以便让程序在此处暂停运行。,5:再次调试运行阶乘程序,注意观察,现在调试运行程序会如何?,5:再次调试运行阶乘程序,6:使用单步执行到程序结束,设置断点以后,调试运行程序时,程序开始执行,并且运行到断点处暂停下来,此时我们有机会观察程序的运行情况,并且诊断程序目前的状态是否如我们所预期的那样。,强调,不过我们先不着急观察程序的状态,而是来看看如何控制程序的运行,以便在我

7、们需要的时候让程序暂停下来,并且以我们需要的方式走走停停!,6:使用单步执行到程序结束,程序停下来了,如何让程序从暂停的地方继续向前执行? 方法是使用单步执行手段(Step Over)让程序向前走一步,熟悉调试工具栏和菜单(只在调试运行时出现),对比调试运行时出现的 调试菜单“Debug”和调试 工具栏,根据图标查找 对应项,观察自动变量,自动变量,观察变量的值及其随程序运行时的变化情况,设置断点,调试运行程序,此时程序暂停在断点处等待。 选择Debug菜单,找到 最后一项“Quick Watch” 并点击,观察变量的值,点击Add Watch,点击Add watch,看到如下画面,调试观察每

8、一步骤变量i的值,点击单步执行按钮或者菜单,程序则向前单独运行一个步骤 每向前执行一步,就会暂停下来,这样我们就有充足的时间观察所关心的变量名称 观察变量i的值的情况,注意在调试过程中,断点不能设置在空白行上面 添加断点和删除断点的方法一样 一个程序中可以设置多个断点,参考资料重要菜单项和功能,Go-F5 开始或继续调试程序,到某断点、程序结尾或需用户输入的地方停止。 Step into-F11 单步执行程序的每一条指令,能进入被调用函数的内部。 Run to Cursor-Ctrl+F10 程序执行到当前光标处,相当在光标处设置了一个断点。,重要菜单项和功能(续),Go-F5 开始或继续调试

9、程序,到某断点、程序结尾或需用户输入的地方停止。 Shift+F5-终止程序的调试,返回到程序的编辑状态。 Step Over-F10 单步执行程序的每一条指令,当遇到一个函数时该函数被执行,单并不进入该函数内部。,重要菜单项和功能(续),Step into-F11 单步执行程序的每一条指令,能进入被调用函数的内部。 Step Out-Shift+F11 当调试进入被调用函数的内部时,可快速执行完次函数。,断点的种类,固定断点(默认断点类型) 数据断点 消息断点 条件断点,断点的设置方法设置临时断点的方法:,单击要设置临时断点的行的任意位置, 然后选择【 组建 】 | 【 开始 】|Run t

10、o Cursor 命令。 程序运行到指定行时暂停其运行,在窗口的左下方就列出了程序运行到该行时隔变量的取值情况。,设置固定断点的方法:,在程序的某一行右击,弹出快捷菜单中选择Insert |remove Breakpoint命令,单击该项。次时该行前出现了一个棕色圆点,意味着已经将该行设置为固定断点了。 设置了固定断点后,通过组建|开始调试|去或调试命令|去命令运行程序,直到遇到某断点或遇到程序结束而停止。,设置固定断点的方法:(续),通过菜单也可设置断点,编辑|断点命令弹出对话框,在其中的Break at 文本框中输入要设置断点地行数信息,通常是先用鼠标选定某一行,在利用菜单命令进入上述对话框, 在Break at 文本框右侧的下拉按钮,并选定系统自动提供的行数,单击确定按钮。,清除断点,清除临时断点: 单击“调试”菜单,然后选择Step Ov

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论