android6.0/7.0 dump CallStack使用
1.Java中:
Log.e(“dump_test”,Log.getStackTraceString(new Throwable()));
2.C++中:
<1>.test.cpp
#include <utils/Log.h>
#include <utils/CallStack.h>
void dumping_callstack(){
android::CallStack stack;
//getpid()和gettid()效果一样
//stack.update(2,getpid());
//stack.update(2,gettid());
stack.update();
//输出到printf
stack.dump(1);
//输出到logcat
stack.log("dump_test");
//可以设置第2、3个参数
//stack.log("Dumping Stack",ANDROID_LOG_ERROR ,"123 ");
}
void func1(){
dumping_callstack();
}
void func2(){
func1();
}
void func3(){
func2();
}
int main(){
ALOGE("main_test------------------>");
func3();
}
<2>.Android.mk
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := test.cpp
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE := test
LOCAL_SHARED_LIBRARIES += li