一、android 中native 层的打印堆栈(c++)
1. android::CallStack用于代码分析
C++代码架构经常特别复杂,可以使用android::CallStack将所在线程的调用栈打印出来
基本用法:
#include <utils/CallStack.h>
#include <utils/Log.h>
android::CallStack stack;
stack.update();
//stack.dump(1); //输出到printf
stack.log("log_tag"); //输出到logcat
CallStack的实现其实是通过libbacktrace实现的,后面有需求可以分析下源码
二、Java打印堆栈信息:
Log.d("zjy","setOnLongClickListener throw:"+Log.getStackTraceString(new Throwable()));
新的系统已经有改动,参考:https://www.cnblogs.com/ArsenalfanInECNU/p/14510304.html