android C++打印堆栈
Android在Java层打印堆栈比较方便,代码如下:
try {
throw new Exception("Debug xxx call stack");
}catch(Exception e) {
e.printStackTrace();
}
但是在C++模块中能打印调用堆栈吗?怎么打印调用栈呢?
答案是肯定的,步骤如下:
1.修改编译脚本Andorid.mk或者Android.bp
Android.mk
LOCAL_SHARED_LIBRARIES := \
libutils \
libutilscallstack
Android.bp
shared_libs: [
"原来的内容",
"libutils",
"libutilscallstack",
],
2.修改c++文件,引入头文件,打印堆栈
#include <utils/CallStack.h>
void function() {
android::CallStack stack;
stack.update();
stack.log("function stack");
}
3.注意事项
如果C++文件定义了命令空间,请把#include <utils/CallStack.h>放在name space定义之外
原文地址:https://blog.csdn.net/free555/article/details/138703928
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!