当我们阅读别人的代码的时候,不知道调用的信息时可以通过主动抛出异常信息来获取调用堆栈信息,而且不影响程序的正常运行;
方法一:
利用 Log.getStackTraceString()方法输出堆栈信息;
Log.e(TAG, Log.getStackTraceString(new Throwable()));
Log.i 、Log.d、Log.v、Log.w、Log.e 都可以,没有什么影响;
方法二:
利用Exception的printStackTrace()来显示堆栈信息;
Exception e = new Exception("get task info");
e.printStackTrace();
方法三:
获取当前线程的堆栈,并逐行打印
for (StackTraceElement i : Thread.currentThread().getStackTrace()) {
Log.e(TAG, i.toString());
}
方法四:
利用RuntimeException 异常来获取
RuntimeException re = new RuntimeException();
re.fillInStackTrace();
Log.e(TAG, "stackTrace", re);
方法五:
利用你所知道的异常来获取,大部分异常都可以使用
try {
throw new IOException();
} catch (IOException e) {
Log.e(TAG, Log.getStackTraceString(e));
}