zoukankan      html  css  js  c++  java
  • 常见Android Native崩溃及错误原因

    http://www.droidsec.cn/%E5%B8%B8%E8%A7%81android-native%E5%B4%A9%E6%BA%83%E5%8F%8A%E9%94%99%E8%AF%AF%E5%8E%9F%E5%9B%A0/

    Android上的Crash可以分两种:

    1、Java Crash
    java代码导致jvm退出,弹出“程序已经崩溃”的对话框,最终用户点击关闭后进程退出。
    Logcat 会在“AndroidRuntime”tag下输出Java的调用栈。

    2、
    通过NDK,使用C/C++开发,导致进程收到错误信号,发生Crash,Android 5.0之前进程直接退出(闪退) , Android 5.0之后会弹“程序已崩溃”的对话框。

    Logcat 会在“debug”tag下输出dump信息:

    • 错误信号:11是信号量sigNum,SIGSEGV是信号的名字,SEGV_MAPERR是SIGSEGV下的一种类型。
    • 寄存器快照:进程收到错误信号时保存下来的寄存器快照,其中PC寄存器存储的就是下个要运行的指令(出错的位置)。
    • 调用栈:#00是栈顶,#02是栈底,#02调用#01调用#00方法,#00的方法时libspirit.so中的Spirit类下的testCrash方法,出错的地方是testCrash方法内汇编偏移17(不是行号哦!)

    UKYUQA}TYQ(3SPXORCQAU$4

  • 相关阅读:
    [python第七课]字符串和常用数据结构
    深浅拷贝与循环引用问题
    CSS居中总结
    CSS布局总结
    跨域
    函数节流与防抖
    浏览器渲染原理及渲染阻塞
    进程与线程
    前端之网络攻击
    前端之缓存
  • 原文地址:https://www.cnblogs.com/wanqieddy/p/4468707.html
Copyright © 2011-2022 走看看