• 保留全部Android crash信息


    保留全部Android crash信息


    framework/base/core/java/com/android/internal/os/RuntimeInit.java


    又一次以下这个函数,增加自己的代码,把信息保存下来,或者发回server


         */
        private static class UncaughtHandler implements Thread.UncaughtExceptionHandler {
            public void uncaughtException(Thread t, Throwable e) {
                try {
                    // Don't re-enter -- avoid infinite loops if crash-reporting crashes.
                    if (mCrashing) return;
                    mCrashing = true;


                    if (mApplicationObject == null) {
                        Clog_e(TAG, "*** FATAL EXCEPTION IN SYSTEM PROCESS: " + t.getName(), e);
                    } else {
                        StringBuilder message = new StringBuilder();
                        message.append("FATAL EXCEPTION: ").append(t.getName()).append(" ");
                        final String processName = ActivityThread.currentProcessName();
                        if (processName != null) {
                            message.append("Process: ").append(processName).append(", ");
                        }
                        message.append("PID: ").append(Process.myPid());
                        Clog_e(TAG, message.toString(), e);
                    }


                    // Bring up crash dialog, wait for it to be dismissed
                    ActivityManagerNative.getDefault().handleApplicationCrash(
                            mApplicationObject, new ApplicationErrorReport.CrashInfo(e));

                } catch (Throwable t2) {
                    try {
                        Clog_e(TAG, "Error reporting crash", t2);
                    } catch (Throwable t3) {
                        // Even Clog_e() fails!  Oh well.
                    }
                } finally {
                    // Try everything to make sure this process goes away.
                    Process.killProcess(Process.myPid());
                    System.exit(10);
                }
            }
        }

  • 相关阅读:
    用elasticsearch分析中国大学省份分布
    【翻译】Kinect v1和Kinect v2的彻底比较
    翻译 Tri-Ace:在Shader里近似渲染公式
    翻译 基于物理渲染的美术资源设计流程
    翻译 次世代基于物理渲染的反射模型
    关于Depth Bounds Test (DBT)和在CE3的运用
    使用Xcode GPU Frame Caputre教程
    如何使用Xcode分析调试在真机运行的UE4 IOS版游戏
    个人翻译的cedec2010基于物理的光照
    使用Nsight查找CE3的渲染bug
  • 原文地址:https://www.cnblogs.com/mfmdaoyou/p/7074271.html
Copyright © 2020-2023  润新知