嵌入式技术及其应用—C程序设计6.ppt

嵌入式技术及其应用—C程序设计 第六回 哈尔滨工程大学 水声工程学院 方尔正 内容提要 进阶—调试 明显的线索,简单的错误 --失败处源程序的行号; --不正常的数值; --不匹配的类型 注释的嵌套 /* */当中不能再包含/* */; “;”的用法; 进阶—调试 无线索,难找的错误 不可重现的错误 ---检查所有变量是否正常初始化; ---是否重复释放同一内存单元 ---指针超过界限; 使用专业调试工具 ---内存泄露检测工具 ---分析助手 最后一招 ----单步步进调试 ----设计理论错误 ----硬件平台问题 ----喝点水,清醒一下 其他人的错误 LOGO 例 main( ) { int n = 1; float k = PI; double m = 1.2; printf(“%d %f %f\n”;k,n,m); } 例 main( ) { int n; scanf(“%d”,n); } 例 main( ) { if(x[i]big); big=x[i]; } 例 main( ) { if(n3) return logrec.date = x[0]; logrec.time = x[1]; logrec.code = x[2]; } 1.使错误重现; 2.分而治之; 3.显示输出,搜索局部化; 4.写记录文件; 例 r为一个8位整形数,低4位与low一致,高4位与hi一致; r= hi4 + low; r=(hi4) + low; r= hi4 | low; 例 switch(color) { case 2: printf(“red\n”); case 3: printf(“yellow\n”); case 4: printf(“blue\n”); 例 if(x==0) if(y==0)error(); else{ z=x+y; f(z); } 例 if(x==0) { if(y==0)error(); } else { z=x+y; f(z); }

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档