Android各层打印栈的方法

来源:互联网 发布:广电直播软件 编辑:程序博客网 时间:2024/06/05 21:03

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()

0 0