當我的應用程序崩潰,在拋出一些logcat中線路:如何強制android應用程序打印未捕獲異常的堆棧跟蹤?
07-10 10:35:34.671 32391-32391/com.noframe.farmisagronom D/AndroidRuntime﹕ Shutting down VM
07-10 10:35:34.671 32391-32391/com.noframe.farmisagronom W/dalvikvm﹕ threadid=1: thread exiting with uncaught exception (group=0x415bf8b0)
如何強制應用程序打印異常堆棧跟蹤?
我的應用程序類代碼:
public class Application extends MultiDexApplication {
@Override
protected void attachBaseContext(Context base) {
try {
super.attachBaseContext(base);
MultiDex.install(this);
}catch (Exception e)
{
e.printStackTrace();
}
}
@Override
public void onCreate() {
try {
Thread.setDefaultUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() {
@Override
public void uncaughtException(Thread t, Throwable e) {
Log.e("Uncaught Exception detected in thread {}", t.getName(), e);
}
});
} catch (SecurityException e) {
Log.e("Could not set the Default Uncaught Exception Handler", "" ,e);
}
super.onCreate();
}
}
注意setDefaultUncaughtExceptionHandler
是我試圖讓堆棧跟蹤形式的異常,但沒有作用。
當我瘋狂地嘗試抓住每一個地方,我發現這些例外。但這並不總是一種選擇,並且需要大量時間。
你也可以看[這裏](http://developer.android.com/reference/android/util/Log.html#getStackTraceString%28java.lang.Throwable%29),在這裏你也可以看到解決方案[需要處理未捕獲的異常併發送日誌文件](http://stackoverflow.com/questions/19897628/need-to-handle-uncaught-exception-and-send-log-file) – Shekhar
public static String getStackTraceString(Throwable tr)我假設?而且我得到了巫術魔法的Throwable或一些特殊的未捕獲異常舞蹈? – Alpha