注册 登录
查看: 2141|回复: 41

IAR编程常见错误及警告信息表(调试找错经验谈)

[复制链接]
发表于 2014-9-27 11:50:14 | 显示全部楼层 |阅读模式

有段时间没有发帖(包括在别的技术论坛)扯皮了(我们那里叫做吹水或者车大炮)吧,闲的DT,废话少来,进正题:


IAR确实挺好用的,他的操作界面简单还可以看调用栈等等。然而编程过程中不可能没有错误或者警告吧,


当然假如能快速知道错误和警告的提醒是什么原因造成的就能很快定位和修改调试好程序


所以这里我就列出IAR一些常见的错误和警告信息所代表的意思及相应的处理方法。


先挑了一些重点的列出来并加以注释,当然错误和警告的类型很多,我这里列出来只是九牛一毛,具体原版信息表见附件文件:


一、警告信息表:

1.Macro "name" redefine(宏被重新定义)

表示用#define定义的宏在程序中以不同形式的参数或者形式重新定义了。

2.undeclared function parameter "name"; assumed "int"(为声明的函数参数“name”,假设为“int”型)

缺省情况下,函数定义头部中未声明的标识符默认为“int”型。

3.unreferenced label "name"(未引用的标号“name”)

这个貌似最常遇到的警告之一了,常常我们定义了某个变量,但在程序中却没有使用它。

4.unreachable returns, the function will never return.(不能到达的返回,即执行不到RET指令,函数不能返回)

函数永远不能返回到调用的函数中,这可能是程序设计的bug造成的。当然如果是RTOS的话,这点是正常的,无需考虑,因为操作系统每一个任务就是无限循环。

5.Floating point constant out of range.(浮点常数超出范围)

浮点值太大或者太小以致于不能使用目标的浮点系统来表示。

... ...


二、错误信息表:

1.Invalid syntax(无效的语法)

系统编译器不能识别的语法,语句不符合标准。

2.Failed to open #include file "name"(打开头文件失败)

这也是比较常见的错误,编译器在编译程序的时候找不到文件里包含的头文件,可能头文件不存在或者路径不对等等。

3.member "name" of "struct" or "union" redeclared(结构体或者联合体成员变量被重新声明)

这个错误也是比较常犯的,因忘记了在结构体后者联合体中已经定义的变量,而在程序主体之中又重新定义或者声明了这个变量。

4.‘; ’ expected(忘记语句结束符'; ')

这个貌似是最常见的错误了吧,估计好多新手都犯过这个错误,养成一个语句结尾都要加‘; '的好习惯是你从菜鸟迈向大牛很重要的一步。

5.“else” without preceding “if”(“else”没有前导的“if”)

过多或者杂乱的使用if...else嵌套容易造成此类错误,常常丢三落四,所以养成好的编程风格和习惯可以避免此类错误。

... ...


附件为IAR编译错误信息表和警告信息表。下载慢慢研究或者遇到问题不懂就查找一下,我只负责吹水,不懂就发帖问山外哥


备注:大部分内容来自阿莫论坛和某大牛的博客,我编辑整理了一下,可是漏了原网址现在找不着了,抱歉,你们看到自己认领吧。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

本帖被以下淘专辑推荐:

  • · IAR|主题: 17, 订阅: 5
  • · 有用|主题: 19, 订阅: 0
回复

使用道具 举报

发表于 2014-9-27 12:53:26 | 显示全部楼层
cool,非常好的整理帖子。
来自安卓客户端来自安卓客户端
回复 支持 反对

使用道具 举报

发表于 2014-9-27 20:12:19 | 显示全部楼层
顶一个,一般习惯百度搜索
来自安卓客户端来自安卓客户端
回复 支持 反对

使用道具 举报

发表于 2014-9-27 20:14:05 | 显示全部楼层
遇到警告和错误,百度一下
回复 支持 反对

使用道具 举报

发表于 2014-9-27 20:20:35 | 显示全部楼层
♂荻夜 发表于 2014-9-27 20:14
遇到警告和错误,百度一下

荻夜大四了吧,找到工作没?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-9-27 20:22:43 | 显示全部楼层
♂荻夜 发表于 2014-9-27 20:14
遇到警告和错误,百度一下

其实里面每个应该都可以百度出来吧,可是这是汇总了。。。还不错哦
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-9-27 20:23:53 | 显示全部楼层
虚竹 发表于 2014-9-27 20:12
顶一个,一般习惯百度搜索

的确应该都可以百度出来吧,可是这是汇总在一起了,很方便。谢谢你帮顶帖子
回复 支持 反对

使用道具 举报

发表于 2014-9-27 20:27:04 | 显示全部楼层
gsc617 发表于 2014-9-27 20:23
的确应该都可以百度出来吧,可是这是汇总在一起了,很方便。谢谢你帮顶帖子

嗯嗯,汇总本身,其实就是让人搜索。
来自安卓客户端来自安卓客户端
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-9-27 20:27:35 | 显示全部楼层
山外メ雲ジ 发表于 2014-9-27 12:53
cool,非常好的整理帖子。

其实就是把大部分可能遇到的错误和警告提示汇总了一下,很方便查找,,,
不过最近我帮人家答帖了一些帖子,那些家伙都不回复我耶。真没礼貌

回复 支持 反对

使用道具 举报

发表于 2014-9-27 20:29:33 | 显示全部楼层
gsc617 发表于 2014-9-27 20:27
其实就是把大部分可能遇到的错误和警告提示汇总了一下,很方便查找,,,
不过最近我帮人家答帖了一些帖 ...

哈哈,是有一堆人这样子,阿莫那边就比较高门槛,不过素质也比较好。
来自安卓客户端来自安卓客户端
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-9-27 21:30:42 | 显示全部楼层
虚竹 发表于 2014-9-27 20:29
哈哈,是有一堆人这样子,阿莫那边就比较高门槛,不过素质也比较好。

最近在智能车制作论坛还有山外论坛很热心帮挺多人答帖子,他们都没有都回帖,真是令人心寒呀
回复 支持 反对

使用道具 举报

发表于 2014-9-27 21:32:08 | 显示全部楼层
gsc617 发表于 2014-9-27 21:30
最近在智能车制作论坛还有山外论坛很热心帮挺多人答帖子,他们都没有都回帖,真是令人心寒呀

确实有很多这类的人,弄得我有时也只看贴,不回复。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-9-27 21:39:04 | 显示全部楼层
栾端静 发表于 2014-9-27 21:32
确实有很多这类的人,弄得我有时也只看贴,不回复。

就是就是,,,我太想吐槽了。。。昨天就气死我了,在智能车制作论坛回了差不多10个帖子,其中有一个人要调试器驱动,
当时我二话不说就把驱动上传给他了,不一会儿附件就显示被下载了,可是他们一直都没回帖。太寒我心了,这么热心干嘛呀

回复 支持 反对

使用道具 举报

发表于 2014-9-27 21:41:45 | 显示全部楼层
gsc617 发表于 2014-9-27 21:39
就是就是,,,我太想吐槽了。。。昨天就气死我了,在智能车制作论坛回了差不多10个帖子,其中有一个人要 ...

只不过不想别人也走自己的弯路,但有时候来得太容易,他们反而不珍惜。
山外之前帮我很多,所以我一般也在这里回复为主,算是帮一下山外
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-9-27 21:47:01 | 显示全部楼层
栾端静 发表于 2014-9-27 21:41
只不过不想别人也走自己的弯路,但有时候来得太容易,他们反而不珍惜。
山外之前帮我很多,所以我一般也 ...

恩恩,假如遇到懂的问题,我们还是要适当答贴子吧。不然的话,新手发帖没人回帖也够寒心的。
新手也真心不易呀,只是希望他们稍微有点礼貌就好了

回复 支持 反对

使用道具 举报

发表于 2014-9-27 21:49:35 | 显示全部楼层
gsc617 发表于 2014-9-27 21:47
恩恩,假如遇到懂的问题,我们还是要适当答贴子吧。不然的话,新手发帖没人回帖也够寒心的。
...

哈哈,看来签名加上一句:初学者更应该有一颗感恩的心,否则没人会乐意帮你解答问题。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-9-27 21:55:39 | 显示全部楼层
栾端静 发表于 2014-9-27 21:49
哈哈,看来签名加上一句:初学者更应该有一颗感恩的心,否则没人会乐意帮你解答问题。

这个可以有,还有就是大家必须适当的回馈贡献论坛呀
回复 支持 反对

使用道具 举报

发表于 2014-9-28 09:46:29 | 显示全部楼层
gsc617 发表于 2014-9-27 21:30
最近在智能车制作论坛还有山外论坛很热心帮挺多人答帖子,他们都没有都回帖,真是令人心寒呀

不是每句对不起都可以换来没关系,做好自己就好了,别人管不了
回复 支持 反对

使用道具 举报

发表于 2014-9-28 09:49:49 | 显示全部楼层
山外メ雲ジ 发表于 2014-9-27 20:20
荻夜大四了吧,找到工作没?

已经毕业了。
在工作了,我有个学长在创业,我就过来学习学习,沉淀一下知识。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-9-28 10:33:09 | 显示全部楼层
♂荻夜 发表于 2014-9-28 09:46
不是每句对不起都可以换来没关系,做好自己就好了,别人管不了

恩恩,你毕业工作了,是在干技术方面的活吗
回复 支持 反对

使用道具 举报

发表于 2014-9-28 11:07:23 | 显示全部楼层
走过路过,不能错过强烈支持,非常感谢哥们
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-9-28 11:12:03 | 显示全部楼层
冰狼 发表于 2014-9-28 11:07
走过路过,不能错过强烈支持,非常感谢哥们

谢谢来顶帖子
回复 支持 反对

使用道具 举报

发表于 2014-9-28 22:41:19 | 显示全部楼层
gsc617 发表于 2014-9-28 10:33
恩恩,你毕业工作了,是在干技术方面的活吗

恩 是的啊,还在单片机开发
回复 支持 反对

使用道具 举报

发表于 2014-11-13 09:49:05 | 显示全部楼层
gsc617 发表于 2014-9-27 20:27
其实就是把大部分可能遇到的错误和警告提示汇总了一下,很方便查找,,,
不过最近我帮人家答帖了一些帖 ...

我从山外下的K60例程遇到了这些问题,您能帮我看下是咋回事不?我用的是IAR6.7版本的

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-11-13 09:55:04 | 显示全部楼层
小@小哒哒何 发表于 2014-11-13 09:49
我从山外下的K60例程遇到了这些问题,您能帮我看下是咋回事不?我用的是IAR6.7版本的

主要是缺失flash loader(论坛山外资料哪里有)文件,还有就是工程的一些配置没有配好
回复 支持 反对

使用道具 举报

发表于 2014-11-13 10:03:19 | 显示全部楼层
小@小哒哒何 发表于 2014-11-13 09:49
我从山外下的K60例程遇到了这些问题,您能帮我看下是咋回事不?我用的是IAR6.7版本的

问题解决了 不用了  谢谢哈哈哈
回复 支持 反对

使用道具 举报

发表于 2014-11-13 10:03:25 | 显示全部楼层
小@小哒哒何 发表于 2014-11-13 09:49
我从山外下的K60例程遇到了这些问题,您能帮我看下是咋回事不?我用的是IAR6.7版本的

不管用哪个IAR版本,建议按照下面帖子的方法一 来执行一次:
IAR 6.5以上版本 打开 山外工程失败的解决方法 - 一天攻破K60 - 山外-vcan123论坛 http://vcan123.com/forum.php?mod=viewthread&tid=1237&ctid=1
来自安卓客户端来自安卓客户端
回复 支持 反对

使用道具 举报

发表于 2014-11-21 19:47:10 | 显示全部楼层
谢谢楼主分享,请问楼主遇到过这种情况么?编译的时候出现这个提示框:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-11-21 20:44:54 | 显示全部楼层
板正的 发表于 2014-11-21 19:47
谢谢楼主分享,请问楼主遇到过这种情况么?编译的时候出现这个提示框:

你逗我吧,这个好像是编译器的问题呀。。。什么版本
回复 支持 反对

使用道具 举报

发表于 2014-11-21 21:00:55 | 显示全部楼层
gsc617 发表于 2014-11-21 20:44
你逗我吧,这个好像是编译器的问题呀。。。什么版本

是编译器的问题  6.5的
回复 支持 反对

使用道具 举报

发表于 2015-1-13 07:11:32 | 显示全部楼层
分享:
用新安装的IAR打不开以前打开过得的工程而之前没用过的可以打开:将以前打开过的工程删除,重新解压或下载。
另外:IAR6.3版本没有CTRL+滚动滑轮来放大缩小字体的功能。
回复 支持 反对

使用道具 举报

发表于 2015-1-14 14:36:23 | 显示全部楼层
解决啦!赞
来自苹果客户端来自苹果客户端
回复 支持 反对

使用道具 举报

发表于 2015-1-14 14:37:51 | 显示全部楼层
zhinengshidai 发表于 2015-1-13 07:11
分享:
用新安装的IAR打不开以前打开过得的工程而之前没用过的可以打开:将以前打开过的工程删除,重新解 ...

谢谢分享经验,学习了
回复 支持 反对

使用道具 举报

发表于 2015-1-15 19:43:26 | 显示全部楼层
顶顶新手顶
回复 支持 反对

使用道具 举报

发表于 2016-1-17 18:59:31 | 显示全部楼层
大神,想问问如何看调用栈,好几次问山外哥如何看程序跑飞,还是不会呀
回复 支持 反对

使用道具 举报

发表于 2016-1-17 19:48:42 | 显示全部楼层
insurance 发表于 2016-1-17 18:59
大神,想问问如何看调用栈,好几次问山外哥如何看程序跑飞,还是不会呀

view —— call stack
回复 支持 反对

使用道具 举报

发表于 2016-1-17 19:52:43 | 显示全部楼层

嗯嗯山外哥,知道调用,但是还是不知道在哪里出错了
回复 支持 反对

使用道具 举报

发表于 2016-1-17 19:54:06 | 显示全部楼层

可以加个扣扣吗,有一年问题困扰两天了,好着急呀,想让山外哥帮我看看
回复 支持 反对

使用道具 举报

发表于 2016-1-17 20:12:05 | 显示全部楼层
insurance 发表于 2016-1-17 19:54
可以加个扣扣吗,有一年问题困扰两天了,好着急呀,想让山外哥帮我看看

你直接截图报错内容,发帖吧。我现在没上Q,你发在论坛上,我可以看到的。

回复 支持 反对

使用道具 举报

发表于 2016-1-18 13:47:31 | 显示全部楼层
学长的帖子真的帮助了我好多,十分感谢!!!
来自安卓客户端来自安卓客户端
回复 支持 反对

使用道具 举报

发表于 2016-4-9 09:01:09 | 显示全部楼层
这个好,下载了!
来自安卓客户端来自安卓客户端
回复 支持 反对

使用道具 举报

发表于 2016-5-18 09:54:38 | 显示全部楼层
谢谢楼主分享,太棒了,顶一个。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回列表 返回顶部