下图转自:https://blog.51cto.com/zhaoyanjun/3814556

 

 

 

 

Android 打印堆栈的几种方法

public void ThrowException() { Thread.dumpStack();

// 调试打印堆栈而不退出

Log.d(TAG, Log.getStackTraceString(new Throwable()));

// 创建异常打印堆栈

Exception e = new Exception("this is a log");

e.printStackTrace();

// 获取当前线程的堆栈

for (StackTraceElement i : Thread.currentThread().getStackTrace()) {

Log.i(TAG, i.toString());

}

RuntimeException re = new RuntimeException();

re.fillInStackTrace();

Log.i(TAG, "stackTrace", re);

// 主动抛出异常调试

try {

Log.i(TAG,

"--------------------------------NullPointerException-----------1");

throw new NullPointerException();

} catch (NullPointerException e1) {

// TODO: handle exception

Log.i(TAG, "--------------------------------NullPointerException");

Log.e(TAG, Log.getStackTraceString(e1));

// e1.printStackTrace();

}

Log.i(TAG,

"--------------------------------NullPointerException-----------end");

}

查看原文