程序员自我修养之crash监控 待学习
2021-01-21 本文已影响0人
巴菲伟
一、JavaCrash的监控
1.JavaCrash的异常大致流程
异常线程的区别 设置uncaughtExceptionHandler异常处理器 代码演示使用
原理文字描述:JVM会调用Thread的dispatchUncaughtException的方法,把异常事件分发出去,线程里面有两个获取线程异常的方法:setUncaughtExceptionHandler(只处理当前线程的异常)和 setDefaultUncaughtExceptionHandler(处理所有线程的异常)两个方法,之所以线程崩溃是因为在Thread.UncaughtExceptionHandler重写它的uncaughtException的方法,调用了Process.killProcess方法和System.exit方法
2.出现crash异常应该怎么处理
3.把混淆的代码需要还原
客户端使用的方法------->GUI工具
服务端同学使用的方法 ------>retrace命令
二、NativeCrash监控处理方式
现在采用的是:Google-breakpad做为主流
采用add2Line工具把.so文件+偏移地址可以准确判定代码出错的位置