JAVA 调用栈
利用 logcat 的第三个参数,new 一个 Exception 即可
Log.d(TAG, "onCreate: ", new Exception());
C++ 打印调用栈
1、包含头文件
#include <utils/CallStack.h>
2、加入代码
CallStack stack(“CallStack”);
3、追加动态库引用
LOCAL_SHARED_LIBRARIES += libutilscallstack
C 打印调用栈
借助 C++
CallStack.h
void dumping_callstack(void);
CallStack.cpp
#include <utils/CallStack.h>
extern "C" void dumping_callstack(void);
void dumping_callstack(void) {
android::CallStack stack("hab");
}
Android.mk
把 callstack.cpp 、libutilscallstack 加入 mk 配置
LOCAL_SRC_FILES := callstack.cpp
LOCAL_SHARED_LIBRARIES += libutilscallstack
在需要打印调用栈的地方,引入 CallStack.h 并调用 dumping_callstack 方法
#include <callstack.h>
dumping_callstack();