在C-Free中调试C语言程序_第1页
在C-Free中调试C语言程序_第2页
在C-Free中调试C语言程序_第3页
在C-Free中调试C语言程序_第4页
在C-Free中调试C语言程序_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

#程序编写是一项严谨而细致的工作,稍有不慎,在代码中多一个字符或少一个字符,都可以导致语法错误或功能逻辑错误,要么不能通过编译,要么不能实现程序的功能目标。而程序调试将是让程序趋于完善的必要手段,一个程序员必须会调试程序。下而以“删除字符串中指定字符”为例介绍在C-Free中程序调试的基本操作。一、编译运行程序[.“删除字符串中指左字符”的程序源代码,如下所示。#include<stdio.h>intmain(){inti,j;chars[Fcecccvccccbcpccedfmcccuec";chare;printf(“原始字符串为:\n");puts(s);printf("请输入要删除的字符:\n");c=getchar();for(i=0;s[i]!=,\0,;i++){if(s[i]=c)for(j=i;sOJ!=,\0,;j++)s[j]=s[j+l];}printfC1删除指定字符后的字符串为:\nH);puts(s);return0;}2.在C-Free中打开程序delrc.c源程序,按F11编译程序,成功完成编译,无警告和错误提示.这说明没有语法错误。

3.按F5运行程序,要删除字符串中的字符c,结果如下所示,我们发现程序没有实现既定的功能目标,说明程序存在功能逻辑错误。二、调试程序调试程序的基本操作是设置程序断点,然后单步跟踪执行,并监视各关键变量值的变化是否满足功能逻辑的要求来发现程序错误。修改错误代码后,重新编译运行程序,如果问题没有排除,则需要再次进行程序调试。要使用程序调试功能,在C-Free中的编译器选择列表右边厨,让编译器构建的程序处于Debug调试状态,编译器列表将中编译器名前将显示[D]标志Q1.设置程序断点,程序断点是在程序中设苣的一个停止运行的标记,当程序运行到断点标记处,程序将暂停并等待程序员的控制。把光标左位到程序的第20行,按F10设置程序断点。2.按F9启动调试,程序执行到断点处暂停,等待程序员进一步操作匚主界而上将显示环境监测窗口,在其中可以观察各相关变量的值的变化情况。3.按F7或F8单步执行程序语句,输入字符G回车。R「冷“曽兴的,、门朗风■处|R「冷“曽兴的,、门朗风■处|牛■曲为凶兴食7UDJmingwS £剽L. 织―孔海“二七以|同习勺園E.IddiccC-Free5.0-[E:\DeYwlead5\delre.e]S!■文WE)趣E)睡⑸IS(£)构建迪晞(GJ工貝(D专口他希先(H) 亠应区.4・继续F7或F8单步执行,并观察环境窗格中,变量值的变化是否符合功能逻辑的要求。还可以把光标立位到后而的程序行,按CW+F8快速执行到光标处。从“环境”窗格中发现字符串S的值中,如果指泄删除的字符是连续的,则删除了其中个别字符。原因在于遇到要删除的字符,其后所有字符均左移一个字符,如果要删除的字符是连续的,下一个本该删除的字符已经移到了其左侧位置,而浏览字符串的位垃指针i的值立位到苴后的字符位置了。解决的办法是:每完成一次删除操作后,判断当前指针所指位程的字符是否是仍是要删除的字符,如果是则把位垃指针i的值减1,来保证进入下一次循环操作时,i的值仍保持原来的值,这样就可以删除连接的字符了。5.发现错误,按Ctrl+F9结朿程序调试,光标左位到断点程序行,按F10淸除断点,修改程序代码,重新编译程序。6.按F5执行程序,结果显示程序实现要求的功能。附C-Free5程序调试功能快捷键F9:开始程序调试Ctrl+F9:结束程序调试F7:单步跟踪执行,如果执行到调用函数,则要跟踪到被调函数体内Shift+F7:从被调函数中跳出F&单步跟踪执行,不跟踪到被调函数体内Ctrl+F&执行到光标所在程序行F10:在光标所在程序行添加/删除断点Alt+3:打开/关闭监视窗口,右击选择“添加监视”,在弹岀的对话框中输入要监视的表达式。Alt+4:打开/关闭环境窗口,环境窗口将显示当前运行环境下,所有局部变量的值。右击选择"察看/修改”可以即时修改变量的值,选择在“内存中察看”则可察看变量在内存中的存储情况。Alt+5:打开/关闭内存窗口,在地址栏输入内存

温馨提示

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

评论

0/150

提交评论