|
发表于 2008-7-5 11:21:41
|
显示全部楼层
Fatal Error (804): Buffer not available这样的错误我今年刚刚遇到过,当时原因是oslmalloc分配的空间太小,而使用时,strcpy拷贝了超过分配的大小的字符串导致溢出。溢出导致了动态分配的区域不正确,这样只要用oslmalloc分配,得到的地址都是不在有效地址之内。当时问题出在初始化,开机就死机,找了三天才找到原因。
如果不好确定问题出在哪里,你可以试试用catcher导出memory dump:
Memory dump必須是手機死機了之後才能工作, 在工模中將memory dump選項打開的目的, 是要讓手機不會重起, 而停在死機的畫面.所以抓取之前必須確認:
1. 工模中有將memory dump打開,
2. 手機必須停在死機畫面.
memory dump会记录所有的RAM中的内容,如果确实是溢出,根据导出来的文件,应该可以分析的出来,你可以叫MTK的人一起帮你看看,否则一大堆二进制也不好分析。
另外随机死机不排除是驱动的问题,我以前也遇到过,就是手机不管进入哪个模块都会死机,完全随机,死机信息什么都有。最后查出来是EMI文件不对,EMI中的信息和实际的Nor flash不匹配。 |
|