代码调试之打印堆栈

java代码中打印堆栈

Java代码打印堆栈比较简单, 堆栈信息获取和输出,都可以通过Throwable类的方法实现。目前通用的做法是在java进程出现需要注意的异常时,打印堆栈,然后再决定退出或挽救。通常的方法是使用exception的printStackTrace()方法:

1
2
3
4
5
6
7
8
void func() {
try {
...
} catch (RemoteException e) {
e.printStackTrace();
...
}
}

也可以只打印堆栈不退出,这样就比较方便分析代码的动态运行情况。Java代码中插入堆栈打印的方法如下

推荐

1
2
import android.util.Log;
Log.d(TAG, android.util.Log.getStackTraceString(new java.lang.Throwable()));