0

我正在研究 android 库,我正在跟踪我的应用程序中的崩溃。

我有一个测试应用程序,我让它抛出一个异常,然后我将此异常传递给我的库。我需要做的是获取此异常的堆栈跟踪。

下面是我如何调用该函数。

catch (NullPointerException ex)
        {
            CrashReporter.ReportCrash(ex);
        }

我获取异常详细信息的函数,我还需要堆栈跟踪。

public static void ReportCrash(Object exceptionObject)
    {
        String exceptionType = exceptionObject.getClass().getName();
        Log.d("Exception Type", exceptionType);
        Log.d("Device Name", android.os.Build.MODEL);
        Log.d("Device Brand", android.os.Build.BRAND);
        Log.d("Android API Level", String.valueOf(android.os.Build.VERSION.SDK_INT));
        Log.d("Android Name", CommonTasks.convertApiLevelToAndroidName(android.os.Build.VERSION.SDK_INT));
        Log.d("Screen Resolution", CritiMon.appContext.getResources().getDisplayMetrics().widthPixels + " x " + CritiMon.appContext.getResources().getDisplayMetrics().heightPixels);
        Log.d("Exception", exceptionObject.toString());

    }
4

1 回答 1

1
for (StackTraceElement element : exceptionObject.getStackTrace()) {
    Log.d("Exception", element.toString());
}

并且要么更改exceptionObject为 type Exception,要么将其转换为getStackTrace().

于 2013-06-15T03:46:34.873 回答