出现死机问题的设备是展锐8910,打开Trace32软件,导入设备死机时的dump文件进行分析。如下图:先看死机时PC停止的位置,对应的汇编代码是 ldrb r2,[r1,#0x5],结合trace32中寄存器的值来看,可以确定死机原因是访问非法内存, r1 寄存器为0,也就是访问0地址(空指针)导致死机。下面分析出现访问空指针问题的具体原因。先分析当前的函数调用栈,为了方便查看,把调用栈信息复制出来,如下所示:123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475ql_open_file_get_info(position=?,file_info=0x80CD343C)err=0node=0x0__FUNCTION__=(113,108,95,111,112,101,110,95,102,105,108,101,95,103,101,116,95,1ql_file_is_opened(file_name=0x80CD3614)cnt=8err=-2134035396position=7file_info=(file_name=(85,70,83,58,10
...
继续阅读
(66)