欢迎来到天天文库
浏览记录
ID:32319160
大小:62.00 KB
页数:18页
时间:2019-02-03
《c语言程序调试功能和常见错误提示》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、C语言编译环境中的调试功能及常见错误提示调试功能1.常用健:激活系统菜单:将光标在编辑窗口和、信息窗口之间切换:加载一个文件+:查看程序运行结果:得到有关编辑器在线帮助+:得到有关C语言的在线帮助+:终止正在运行的程序2.块操作KB:定义块首KK:定义块尾KV:块移动KC:块复制KY:块删除KH:取消块定义3.查找、替换和删除操作QF:查找
2、字符串QA:查找并替换字符串Option:G(全程),B(向文件头),N(直接替换)Y:删除一行QY:删除从光标位置到行末的所有字符编译中的常见错误例析(1) 警告类错误‘XXX’declarebutneverused变量XXX已定义但从未用过。‘XXX’isassignedavaluewhichisneverused变量XXX已赋值但从未用过。Codehasnoeffect程序中含有没有实际作用的代码。Non-portablepointerconversion不适当的指针转换,可能是在应该使
3、用指针的地方用了一个非0的数值。Possibleuseof‘XXX’beforedefinition表达式中使用了未赋值的变量Redeclarationof‘main’一个程序文件中主函数main不止一个。Suspiciouspointerconversion可疑的指针转换。通常是使用了基本类型不匹配的指针。Unreachablecode程序含有不能执行到的代码。(2) 错误或致命错误Compoundstatementmissing}infunctionmain程序结尾缺少括号}。“}”expected;“(”expected等
4、复合语句或数组初始化的结尾缺少“)”;“(”。Caseoutsideofswitchcase不属于Switch结构,多由于switch结构中的花括号不配对所致。Casestatementmissing‘:’switch结构中的某个case之后缺少冒号。Constantexpressionrequired定义数组时指定的数组长度不是常量表达式。Declarationsyntaxerror结构体或联合类型的定义后缺少分号。Declarationwasexpected缺少说明,通常是因为缺少分界符如逗号、分号、右圆括号等所引起的。Def
5、aultoutsideswitchDefault部分放到了switch结构之外,一般是因为花括号不匹配而引起的。dostatementmusthavewhiledo语句中缺少相应的while部分。Expressionsyntax表达式语法错。如表达式中含有两个连续的运算符Extraparameterincall‘fun’调用函数fun时给出了多余的实参。Functionshouldreturnavalue函数应该返回一个值,否则与定义时的说明类型不匹配。Illegaluseofpointer指针被非法引用,一般是使用了非法的指针运
6、算。Invalidpointeraddition指针相加非法。一个指针(地址)可以和一个整数相加,但两个指针不能相加。Lvaluerequired赋值运算的左边是不能寻址的表达式。Misplacedelse程序遇到了没有配对的elseNomatching表达式中的括号不配对。Pointerrequiredonleftsideof_>在“_>”运算的左边只能允许一个指针而不能是一个一般的结构体变量或联合类型的变量。Statementmissing;程序遇到了后面没有分号的语句。Toofewparametersincall调用某个函数
7、时实参数目不够。Unabletoopenincludefile‘XXXXXXXX.XXX’头文件找不到。Unexpected}或:或{在不希望的地方使用了}或:{。Undefinedsymbol‘X’infunctionfun函数fun中的变量X没有定义。5.连接中的常见错误主要错误类似于“undefinedsymbol_printinmodulaxxx”(print没有定义),通常是函数名书写错误。6.运行中的常见错误Abnormalprogramtermination程序异常终止。通常是由于内存使用不当所致。Floatingp
8、ointerror:Domain或Divideby0运算结果不是一个数或被0除Nullpointerassignment对未初始化的指针赋值,程序有严重错误。Userbreak在运行程序时终止。7.程序的跟踪调试利用Run菜单可以进行程序的跟踪调试
此文档下载收益归作者所有