分类: C/C++
2014-05-17 00:02:47
摘要:
本文描述了IAR文件查找(Find in Files)提示Failed to read现象,并给出解决办法,即在查找的时候,将"Match case"选项勾上。
现象描述:
使用IAR Embedded Workbench IDE有时需要查找(Ctrl+Shift+F,Find in Files)某个变量(尤其是右击定位不到的变量),比如_BIS_SR,会提示"Failed to read "D:\IAR Systems\Embedded Workbench 6.0 Evaluation\430\inc\in430.h"",如下:
图1 IAR提示Failed to read
解决办法:
IAR提示这样的错误,以致有些变量定义找不到,解决这个问题也很简单,在查找的时候,将"Match case"选项勾上,如下图所示,问题即可解决。
图2 Find in Files勾选Match case示意图
不知道为什么会出现这样的问题,也许是软件的一个BUG吧,知情人请告知哈:-)
2.问:为什么IAR调试时有很多变量无法查看它的值?
答:主要的原因是IAR编译器设置了优化功能,函数中的自动变量以及一些静态函数都被优化过了,所以没有生成对应的调试信息,无法查看和设置断点。解决的方法是关闭编译器的优化功能,右键点击工程的Options -> C/C++ Compiler -> Optimizations中的Level设置为None。
3.问:当IAR调试中出现警告“缺少断点,无法运行到main()”?
答:出现这个错误的原因是,IAR for 8051最多只能设置3个断点,如果设置过多,当程序下载后,将出现些调试警告。解决的方法很简单,去掉一些断点,再重新载入程序。打开Breakpoint: 菜单view->Breakpoint,然后就可以点右键remove等等进行操作了。