C语言上机调试宝典.ppt

上传人:小飞机 文档编号:5426221 上传时间:2023-07-05 格式:PPT 页数:13 大小:200.49KB
返回 下载 相关 举报
C语言上机调试宝典.ppt_第1页
第1页 / 共13页
C语言上机调试宝典.ppt_第2页
第2页 / 共13页
C语言上机调试宝典.ppt_第3页
第3页 / 共13页
C语言上机调试宝典.ppt_第4页
第4页 / 共13页
C语言上机调试宝典.ppt_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《C语言上机调试宝典.ppt》由会员分享,可在线阅读,更多相关《C语言上机调试宝典.ppt(13页珍藏版)》请在三一办公上搜索。

1、C语言上机调试,C语言上机调试,什么是调试?在C语言编程过程中,避免不了地会出现各种错误,我们称之为:BUG;消除这些BUG,我们称之为:Debug;DEBUG中文翻译为:调试。,C语言上机调试,C语言有几种BUG?语法错误:由于编写的代码不符合C语言语法规范造成的错误;出现语法错误的程序不能编译、连接生成可执行文件(EXE),所以不能运行;逻辑错误:程序已进入到运行状态;程序运行的结果不对;在逻辑上程序出现了混乱。,C语言上机调试,调试常用快捷键::激活系统菜单:将光标在编辑窗口和、信息窗 口之间切换:加载一个文件+:查看程序运行结果:得到有关编辑器在线帮助+:得到有关C语言的在线帮助+:终

2、止正在运行的程序,C语言上机调试,调试常用快捷键(块操作):KB:定义块首 KK:定义块尾 KV:块移动 KC:块复制 KY:块删除 KH:取消块定义,C语言上机调试,调试常用快捷键:QF:查找字符串 QA:查找并替换字符串 Y:删除一行 QY:删除从光标位置到行末的所有字符,C语言上机调试,语法错误调试方法:注意信息窗口中错误与警告的数量;先消除错误后消除警告;消除错误的过程中一定要有先后次序前面的错误没解决之前不要去消除后面的!,C语言上机调试,逻辑错误调试方法快捷键:调试运行;:程序从当前位置执行到光标处;:执行一行代码(有函数则进入);:执行一行程序(有函数不进入);:标记、取消断点;

3、:添加监视变量。,C语言上机调试,逻辑错误调试方法过程:发现错误结果;断定显示错误结果对应的变量;添加并监视该变量;在执行该变量的前一行设置断点;执行程序等待程序停下来;判断出错原因。,常见错误提示(警告类),XXXdeclare but never used 变量XXX已定义但从未用过。XXXis assigned a value which is never used 变量XXX已赋值但从未用过。Code has no effect 程序中含有没有实际作用的代码。Non-portable pointer conversion 不适当的指针转换,可能是在应该使用指针的地方用了一个非0的数值。

4、Possible use of XXXbefore definition 表达式中使用了未赋值的变量Redeclaration of main 一个程序文件中主函数main不止一个。Suspicious pointer conversion 可疑的指针转换。通常是使用了基本类型不匹配的指针。Unreachable code 程序含有不能执行到的代码。,常见错误提示(错误),Compound statement missing in function main 程序结尾缺少括号。“”expected;“(”expected等 复合语句或数组初始化的结尾缺少“)”;“(”。Case outside

5、 of switch case 不属于Switch结构,多由于switch结构中的花括号不配对所致。Case statement missing:switch结构中的某个case之后缺少冒号。Constant expression required 定义数组时指定的数组长度不是常量表达式。Declaration syntax error 结构体或联合类型的定义后缺少分号。Declaration was expected 缺少说明,通常是因为缺少分界符如逗号、分号、右圆 括号等所引起的。Default outside switch Default部分放到了switch结构之外,一般是因为花括号不

6、匹配而引起的。do statement must have while do语句中缺少相应的while部分。Expression syntax 表达式语法错。如表达式中含有两个连续的运算符Extra parameter in call fun 调用函数fun时给出了多余的实参。Function should return a value 函数应该返回一个值,否则与定义时的说明类型不匹配。Illegal use of pointer 指针被非法引用,一般是使用了非法的指针运算。Invalid pointer addition 指针相加非法。一个指针(地址)可以和一个整数相加,但两个指针不能相加。

7、Lvalue required 赋值运算的左边是不能寻址的表达式。Misplaced else 程序遇到了没有配对的elseNo matching 表达式中的括号不配对。Pointer required on left side of_ 在“_”运算的左边只能允许一个指针而不能是一个一般的结构体变量或联合类型的变量。Statement missing;程序遇到了后面没有分号的语句。Too few parameters in call 调用某个函数时实参数目不够。Unable to open include file XXXXXXXXXXX 头文件找不到。Unexpected 或:或 在不希望的

8、地方使用了或:。Undefined symbol Xin function fun 函数fun中的变量X没有定义。,常见错误提示(其它),连接中的常见错误主要错误类似于“undefined symbol _print in modula xxx”(print没有定义),通常是函数名书写错误。运行中的常见错误Abnormal program termination 程序异常终止。通常是由于内存使用不当所致。Floating point error:Domain 或Divide by 0 运算结果不是一个数或被0 除Null pointer assignment 对未初始化的指针赋值,程序有严重错

9、误。User break 在运行程序时终止,程序跟踪调试(详细),程序的跟踪调试利用Run菜单可以进行程序的跟踪调试GO to Cursor()选择该选项使程序执行到光标所在行首先将光标移到某行(一般为可执行),选择该功能项,则程序执行到该行的前一行暂停。此时程序处于跟踪调试状态,并有亮条显示在暂停处,此时可以查询变量或表达式的值。Trace into()执行一条语句或一行暂停此时程序处于跟踪调试状态,并有亮条显示在暂停处。该选项可跟踪到被调函数的内部。Step over()执行一条语句或一行暂停此时程序处于跟踪调试状态,并有亮条显示在暂停处。该选项将自定义函数当作一个语句执行,不跟踪到函程序

10、的内部。Debug 菜单程序处于跟踪状态时,可使用该菜单的选项。其主要是使用Evaluate目的是查询或更新变量或表达式的值。选择Evaluate功能后,系统弹出一个对话框。该对话框包含三个选项区域:Evaluate域可以输入一个含有目前代码中(程序暂停区的作用域)正在使用的变量名、或含变量的表达式、或常量表达式。按回车键后,在Result域中显示变量或表达式的值。还可以用New value域进行调试。如果调试程序时发现Result域显示的某变量或表达式的值不正确,并能估计出该变量或表达式的值,则可以将该值输入到New value域,继续执行程序,其目的是肯定错误发生处是否在当前位置之前。如果输入这个正确的值并将程序继续执行完毕而结果正确,说明在目前暂停处之前已经发生错误而之后无错误。Break/Watch用于设置断点和监视表达式。选择Add Watch功能选项,系统将弹出一个菜单,在Add Watch框中输入变量名或表达式,按回车键后,系统在屏幕底部开辟一个窗口并显示 该变量或表达式的值。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号