版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、调试C程序的方法在编辑完成一个C语言源程序并最终在计算机上看到程序的执行结果要经过以下几个步骤:上机输入与编辑源程序文件(形成.C源程序文件);编译源程序文件(形成.OBJ目标文件);与库函数连接(形成.EXE可执行文件);执行可执行文件。在这个过程中,对程序设计人员而言,编译源程序文件可能会遇到各种各样的错误提示,这表明源程序文件有语法结构和语句的设计和书写上的错误;在执行可执行文件得到程序执行结果后可能会遇到得到的执行结果与设计结果不符的现象,这表明源程序文件有可能存在逻辑设计上的错误。诸如此类的错误都需要进行程序的修改与调试工作,这也就需要掌握相应的各种解决问题的方法和技巧。为了编译、连
2、接和执行C程序,必须要有相应的C编译系统。目前使用的大多数C编译系统都是IDE集成环境的,将程序的编辑、编译、连接和执行等操作全部集中在一个界面上完成,如Visual C+ 6.0等。Visual C+ 6.0软件是Microsoft公司推出的,在目前的国内较为流行的新一代面向对象程序设计的集成开发工具。Visual C+ 6.0为用户提供了一个非常良好的可视化开发环境,该环境有一系列功能强大的程序开发工具组成。Developer Studio是Visual C+ 6.0的核心部分,是Microsoft Windows环境下的一个支持可视化编程的集成开发环境(IDE),通常称为开发平台。集成开
3、发环境是一个集成程序编译器、调试工具和建立应用程序工具的主体。进入Visual C+ 6.0集成环境可以按照下列步骤启动Visual C+ 6.0:点击“开始”按钮;在开始菜单中选择“程序”;在“Microsoft Visual Studio 6.0”组的级联菜单中选择“Microsoft Visual C+ 6.0”。Visual C+ 6.0集成环境如图1所示:图1编辑源程序文件建立工作文件夹该文件夹用于存放各个工程文件夹或普通源程序文件,例如:D:Test。建立项目Visual C+ 6.0环境中是按照一个一个的项目来进行管理的,该环境将某个项目相关的各种文件均存放在一个项目文件夹中,该
4、项目文件夹应被保存在工作文件夹(如:D:Test)中,这些文件包括项目文件(*.dsw、*.dsp文件)、源程序文件(*.cpp、*.c文件)以及Debug文件夹(位于工程文件夹中)中的可执行文件(*.exe文件)、目标文件(*.obj文件)等文件。具体操作过程如下:打开File菜单,选择New命令,系统将打开一个名称为“New”的对话框窗口,如图2所示。图2可以看到该对话框中系统已经默认选择了“Projects”项目选项卡。在列表框中选择“Win32 Console Application”选项。在右侧“Location:”处输入存储此次建立的项目相关文件的工作文件夹名称,也可以点击 按钮,
5、打开如图3所示的“Choose Directory”对话框,选择相关的文件夹信息并点击“OK”按钮。图3此时,“New”的对话框窗口中的内容如图4所示。选择此项保存位置图4在右侧“Project name:”处输入项目的名称如:pa,系统同时也会将此名称自动加入到“Location:”处,即系统将自动在工作文件夹如:D:Test中建立一个与此项目名称相同名称的文件夹,用来保存此项目相关的所有文件。如图5所示。图5项目名称其它的选项可以选择默认状态并点击“OK”按钮。在打开的“Win32 Console Application Step 1 of 1”对话框中选中“An empty projec
6、t”选项后点击“Finish”按钮,在打开的“New Project Information”对话框中中会显示本次所创建的工程的基本信息,如果没有问题就可以点击“OK”按钮,完成工程的创建工作,此时,系统环境如图6所示。图6Workspace窗口选择此选项卡建立源程序文件并保存文件在如图29所示的窗口中选择“Workspace”窗口中的“FileView”选项卡,然后点击“pa files”项前的“+”号使其展开,在展开的内容中选择“Source Files”文件夹,此时,系统环境如图7所示。图7打开File菜单,选择New命令,系统将打开一个名称为“New”的对话框窗口,如图8所示。可以看到
7、该对话框中系统已经默认选择了“Files”文件选项卡,在该选项卡内右侧,系统已经默认选择了项目名称及文件的默认保存位置。图8如图9所示,在列表框中选择“C+ Source File”选项。在右侧“File”处输入此次建立的C语言源程序文件的文件名称如a1.c,注意:C语言源程序文件名称中要写出文件扩展名.c。然后点击“OK”按钮。图9选择此项在此处输入文件名称如图10所示,在名称为所输入的文件名称的编辑窗口中输入源程序的代码。注意:在编辑窗口的名称右侧,可能会出现“*”号,一旦出现即表明输入的程序代码还有未被保存的内容存在,可以执行“保存”命令保存文件内容,同时,该符号也将消失。图10文件内容
8、未被保存可以展开Build MiniBar工具栏编译源程序文件与库函数连接形成.EXE可执行文件如图11所示,打开Build菜单,选择Build pa.exe命令(或直接按F7、或直接按编译微型工具栏(Build MiniBar工具栏)中的Build命令按钮,见图12)。执行以上操作后系统将在“Output”窗口显示编译结果,如图13所示。图11执行此命令图12Build命令图13Output窗口从图13中可见,系统生成可执行文件pa.exe。执行可执行文件(执行程序)如图14所示,打开Build菜单,选择Execute pa.exe命令(或直接按Ctrl+F5、或直接按编译微型工具栏(Bui
9、ld MiniBar工具栏)中的Execute命令按钮,见图15)。图14执行此命令图15Execute命令系统将打开一个执行窗口,如图16所示,显示执行结果,执行结束后按任意键可以返回Visual C+ 6.0系统的编辑窗口。图16上述过程完成后,可以在工作文件夹(如:D:Test文件夹)中看到所建立的项目文件夹(如:pa文件夹),在该文件夹下存有诸如.dsw文件、.dsp文件及.c文件和Debug文件夹,在Debug文件夹下存有诸如.exe文件及.obj文件等各种文件。打开已经保存的文件继续编辑文件内容如前所述,在Visual C+ 6.0系统中,C语言源程序文件均从属于某个项目。因此,若
10、需要打开已经保存的C语言源程序文件继续编辑文件内容就必须打开C语言源程序文件所在项目的“项目工作区”文件(*.dsw文件)。打开项目工作区(*.dsw)文件的方法有如下两种方法:如图17所示,在进入Visual C+ 6.0系统环境后,打开File菜单,选择Open Workspace命令,在“Open Workspace”对话框中选择相应的项目工作区文件,点击“打开”按钮即可。图17如前所述的例子,可以在D:Testpa文件夹下找到pa.dsw文件,鼠标双击该文件后同样可以打开相应的文件。注意:如图18所示。图18展开此项,双击文件名称即可打开程序文件编辑窗口。如果程序文件编辑窗口被关闭,可
11、以双击“+”号展开“Source Files”文件夹,然后双击其下的文件名称即可打开程序文件编辑窗口。图19错误调试如果程序中有物理性的语法错误,诸如变量未定义就使用、指针变量级别混淆、函数参数类型不匹配等错误,编译程序时,编译系统会在“Output”输出窗口中给予提示并对提示信息给予必要的解释,如图19所示。双击某个错误提示信息,在编辑窗口中会出现一个箭头定位于编译系统认为与该项错误对应的文件位置处。在修改了所有的错误(Errors)和警告(Warnings)后,应再次编译程序文件直到没有错误才可执行程序并看到执行结果。此过程有可能经过几个反复才能将程序中的错误排除。分步调试程序的方法在编译
12、程序时没有错误及警告出现,即0错误和0警告。可是,程序的执行结果与设计的结果却不一致。解决这种问题的方法之一可以通过分步执行程序的方式来加以解决。仔细观察如下的程序代码:#include<stdio.h>#define N 5void main()int i,sum,x; for(i=1;i<=N;i+) printf("Input No.%d number: ",i); scanf("%d",&x); sum+=x; printf("Sum=%dn",sum);执行结果是:Input No.1 number
13、: 2Input No.2 number: 5Input No.3 number: 8Input No.4 number: 3Input No.5 number: 4Sum=-858993441程序的功能是从键盘输入5个整数,计算累加和并显示结果。但从执行结果看,显然是有问题的,可是程序能正常的被执行,说明此程序存在有逻辑错误。下面将介绍通过分步执行程序的方式查找错误的方法。首先按F10键,如图20所示,系统进入分步执行状态,Visual C+ 6.0系统会同时打开“Debug”浮动工具栏及程序执行窗口(可以在该窗口中及时看到分步执行时每一个步骤的实时执行效果)。在编辑窗口内的左侧会出现一个“
14、黄颜色箭头”,该箭头将指示分步执行的当前语句行。每按一次F10键分步执行一行。在Visual C+ 6.0窗口内还会出现:Variables窗口该窗口如被关闭,可使用Alt+4命令再次打开。在该窗口中会显示根据分步执行到具体某个语句部分时相关的变量的数据值。Watch窗口该窗口如被关闭,可使用Alt+3命令再次打开。在该窗口中可以随时添加需要监控数据值变化的变量的名称。添加变量名称时,只需在名称(Name)列的当前框内输入变量的名称并回车即可。若需要删除某个变量的名称时,只需将该变量的名称选中后删除并回车即可。Debug浮动工具栏程序执行窗口分步指示Variables窗口Watch窗口图20图
15、21在Watch窗口中添加变量sum、变量x和变量i的名称,将这三个变量作为被监控变量,如图21所示。连续按F10键执行到scanf("%d",&x);语句时,系统将要求键盘输入,此时,应转到程序执行窗口输入数据,然后,再选择系统窗口,此时系统窗口的内容如图22所示。图22变量x的值是输入的数据第1次循环,变量i的值为1。注意变量sum的值图23继续按F10键,将执行sum+=x;语句。此时系统窗口的内容如图23所示。注意变量sum的值显然,从变量sum的数据值的变化情况已经可以看出,之所以最终的数据统计结果是错误的原因是变量sum没有赋初值为0。既然错误的原因已经
16、找到,分步执行状态就可以按Shift+F5键予以终止。然后对错误处进行修改后重新编译并执行程序。此过程可以反复进行,直到解决所有的逻辑错误。特别注意:在分步执行过程中遇到函数调用时,执行到主调函数调用语句所在语句行时按F11键将会看到“黄颜色箭头”指向被调函数,即程序流程将转入到被调函数中,然后,在被调函数中仍然按F10键逐语句行执行程序代码。若不需要看到被调函数的执行过程直接得到被调函数的执行结果,则可以在执行主调函数调用语句所在语句行时按F10键跳过被调函数的逐行执行过程。由于被调函数有系统库函数和自定义函数两种。因此,特别提醒:对于系统库函数的执行,如遇到printf函数语句时按F10键直接得到结果,而对于自定义函数可以按F11键转入到被调函数中逐行执行函数语句。在被调函数执行过程中若想结束被调函数的分步执行过程回到主调函数中时可以按Shift+F11键。若在分步执行过程中需要重新开始分步执行过程可以按Ctrl+Shift+F5键。在实际的程序设计过程中,分步执行程序可以很有效的帮助程序设计者检查程序中出现的逻辑错误。注意事项在Visual C+ 6.0系统中,每个项目中只能有一个含有main主函数的C语言源程序文件。如前所述,在Visual C+ 6.0系统中,C语言源程序文件均从
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 内部市场化培训管理制度
- 天津城市职业学院《建筑结构材料》2024-2025学年第二学期期末试卷
- 机关内部诚信奖惩制度
- 机关收入内部管理制度
- 杰美特内部管理制度
- 某公司内部审计制度
- 检察官内部审批制度规定
- 模具品质部内部奖惩制度
- 民宿内部安保管理制度
- 沐足内部管理制度
- 2025年河北省石家庄市精英小学小升初数学试卷
- 工行个贷管理办法
- T-HNTI 018-2020 湘西黄金茶 绿茶
- 北京中学转学管理办法
- 统编版(2024)七年级下册道德与法治全册分课时同步练习题(含答案)
- 食堂承包管理难点及解决措施
- 2025年重庆市中考英语试卷真题(含标准答案及解析)
- 大桥连续刚构桥实施性施工组织设计
- 《当前保密工作面临的新形势、新任务》课件
- 国家职业技术技能标准 6-11-01-04 制冷工 人社厅发2018145号
- 承插型盘扣式钢管脚手架安全技术标准JGJT231-2021规范解读
评论
0/150
提交评论