PS死机案例及原因发现方法浅析.pptVIP

  • 1
  • 0
  • 约3.46千字
  • 约 23页
  • 2017-05-21 发布于四川
  • 举报
PS 死机案例 系统死机的典型案例 取数据异常 所有中断均失效只有ARM核运行 栈溢出,界外数据被破坏 数据越界访问 中断被误打开,并没有清除中断 不能等到寄存器置位或者清零 函数重入问题 函数声明和实现的接口不统一 双处理器的同步问题 取数据异常 取数据异常 所有中断均失效 在607平台老的Framework 上,有两个现象 在第一幅开机动画处死机 反复播放前一段开机铃声 任何按键没有反应 栈溢出,界外数据被破坏 数据越界访问 数据越界访问 中断被误打开,且没有清除中断 中断被误打开,且没有清除中断 不能等到寄存器置位或者清零 不能等到寄存器置位或者清 函数重入的问题 函数重入的问题 函数声明和实现的接口不统一 双处理器的同步问题 双处理器的通信方式(串口,双口RAM等) 造成不能同步的原因往往是数据Buffer溢出,或者中断丢掉 数据Buffer大小的合理设定,考虑“生产者”和“消费者”的活动状态;从系统角度考虑中断优先级的安排 两边同步失调可能会造成死机 “死机”预防(最重要) 绝大部分的“死机”可以通过仔细的设计和编码预防 主动设置“陷阱”,主动增加调试代码,在任何程序不该进入的地方设置“陷阱”来“捕获”它,一旦捕获有更多的信息来分析(使用StackInsight工具) 在一些看起来没有任何问题的地方也要设置“陷阱”(数据越界访问和栈溢出等导致看起来没有问题的地方也容易无

文档评论(0)

1亿VIP精品文档

相关文档