1.Java层打印调用栈方法
RuntimeException here = new RuntimeestException("exception");
here.fillInStackTrace();
Log.w(TAG,"XXXXXX: " + this, here);
A. Thread.dumpStack()
B. Log.d(String tag,String msg, Throwable tr)
C. new Throwable().printStackTrace()
2. cpp层打出栈的backtrace
#include <utils/CallStack.h>
CallStack stack;
stack.update();
stack.log("XXXXXX",ANDROID_LOG_ERROR);
其中“XXXXXX”指的是TAG
3. c函数打调用栈
参考CallStack.cpp的实现,通过调用_Unwind_Backtrace完成
4. kernel打调用栈
dump_stack()