安卓源码中打印调用堆栈的方法
2022/1/15 11:05:07
本文主要是介绍安卓源码中打印调用堆栈的方法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
Native层打印调用堆栈
首先,先进入需要添加堆栈的进程代码,并在其Android.bp中添加shared_libs libutilscallstack
cc_library { name: "libbinder", ...... shared_libs: [ "liblog", "libcutils", "libutils", "libutilscallstack", ], ...... }
然后在对应的代码处添加
// 先添加头文件 #include <utils/CallStack.h> // 引用对象 using ::android::CallStack; Status ServiceManager::addService(const std::string& name, const sp<IBinder>& binder, bool allowIsolated, int32_t dumpPriority) { ...... // 或者直接使用 CallStack stack("native"); // 替换下述的三条语句,这样日志的等级为 ANDROID_LOG_DEBUG CallStack stack; stack.update(); stack.log("native", ANDROID_LOG_ERROR); ...... }
Java侧的调用堆栈打印
Java侧的调用堆栈打印比较简单,直接在需要打印的地方添加如下代码即可
RemoteException exp = new RemoteException("java"); exp.printStackTrace();
这篇关于安卓源码中打印调用堆栈的方法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-02Java管理系统项目实战入门教程
- 2024-11-02Java监控系统项目实战教程
- 2024-11-02Java就业项目项目实战:从入门到初级工程师的必备技能
- 2024-11-02Java全端项目实战入门教程
- 2024-11-02Java全栈项目实战:从入门到初级应用
- 2024-11-02Java日志系统项目实战:初学者完全指南
- 2024-11-02Java微服务系统项目实战入门教程
- 2024-11-02Java微服务项目实战:新手入门指南
- 2024-11-02Java项目实战:新手入门教程
- 2024-11-02Java小程序项目实战:从入门到简单应用