[RK3288][Android6.0] 调试笔记 --- 系统Dump Callstack方法
来源:互联网 发布:java mysql函数怎么写 编辑:程序博客网 时间:2024/05/29 18:52
Platform: Rockchip
OS: Android 6.0
Kernel: 3.10.92
像Java, C++带类继承,有时候分析流程会找晕,可以通过dump callstack快速了解调用过程
Java中: Log.e("kris",Log.getStackTraceString(new Throwable()));
C++中: #include <utils/CallStack.h>
android::CallStack cs("kris");
android.mk LOCAL_SHARED_LIBRARIES := \
libutils \
Kernel中: dump_stack();
Java和C++ log示例如下:
kris@:~/rk3288/frameworks/base$ adb logcat -s kris--------- beginning of main--------- beginning of system01-06 07:53:13.505 555 555 E kris : java.lang.Throwable01-06 07:53:13.505 555 555 E kris : at com.android.server.camera.CameraService.notifyMediaserverLocked(CameraService.java:263)01-06 07:53:13.505 555 555 E kris : at com.android.server.camera.CameraService.switchUserLocked(CameraService.java:228)01-06 07:53:13.505 555 555 E kris : at com.android.server.camera.CameraService.onStartUser(CameraService.java:191)01-06 07:53:13.505 555 555 E kris : at com.android.server.SystemServiceManager.startUser(SystemServiceManager.java:150)01-06 07:53:13.505 555 555 E kris : at com.android.server.am.ActivityManagerService.systemReady(ActivityManagerService.java:12084)01-06 07:53:13.505 555 555 E kris : at com.android.server.SystemServer.startOtherServices(SystemServer.java:1181)01-06 07:53:13.505 555 555 E kris : at com.android.server.SystemServer.run(SystemServer.java:279)01-06 07:53:13.505 555 555 E kris : at com.android.server.SystemServer.main(SystemServer.java:171)01-06 07:53:13.505 555 555 E kris : at java.lang.reflect.Method.invoke(Native Method)01-06 07:53:13.505 555 555 E kris : at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:772)01-06 07:53:13.505 555 555 E kris : at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:662)01-06 07:53:13.516 212 390 D kris : #00 pc 0004f9a3 /system/lib/libcameraservice.so (_ZN7android13CameraService12doUserSwitchEPKij+222)01-06 07:53:13.516 212 390 D kris : #01 pc 0004fc57 /system/lib/libcameraservice.so (_ZN7android13CameraService17notifySystemEventEiPKij+42)01-06 07:53:13.516 212 390 D kris : #02 pc 0001ddad /system/lib/libcamera_client.so (_ZN7android15BnCameraService10onTransactEjRKNS_6ParcelEPS1_j+1420)01-06 07:53:13.516 212 390 D kris : #03 pc 00049763 /system/lib/libcameraservice.so (_ZN7android13CameraService10onTransactEjRKNS_6ParcelEPS1_j+174)01-06 07:53:13.516 212 390 D kris : #04 pc 0001a19d /system/lib/libbinder.so (_ZN7android7BBinder8transactEjRKNS_6ParcelEPS1_j+60)01-06 07:53:13.516 212 390 D kris : #05 pc 0001f4b1 /system/lib/libbinder.so (_ZN7android14IPCThreadState14executeCommandEi+532)01-06 07:53:13.516 212 390 D kris : #06 pc 0001f61d /system/lib/libbinder.so (_ZN7android14IPCThreadState20getAndExecuteCommandEv+64)01-06 07:53:13.516 212 390 D kris : #07 pc 0001f681 /system/lib/libbinder.so (_ZN7android14IPCThreadState14joinThreadPoolEb+48)01-06 07:53:13.516 212 390 D kris : #08 pc 00023fcd /system/lib/libbinder.so01-06 07:53:13.516 212 390 D kris : #09 pc 00010855 /system/lib/libutils.so (_ZN7android6Thread11_threadLoopEPv+112)01-06 07:53:13.516 212 390 D kris : #10 pc 000417c7 /system/lib/libc.so (_ZL15__pthread_startPv+30)01-06 07:53:13.516 212 390 D kris : #11 pc 00019313 /system/lib/libc.so (__start_thread+6)
阅读全文
1 0
- [RK3288][Android6.0] 调试笔记 --- 系统Dump Callstack方法
- [RK3288][Android6.0] 调试笔记 --- Camera配置信息dump方法
- [RK3288][Android6.0] 调试笔记 --- 隐藏系统状态栏的方法
- [RK3288][Android6.0] 调试笔记 --- display数据帧的dump
- [RK3288][Android6.0] 调试笔记 --- Camera Preview原始数据帧dump
- [RK3288][Android6.0] 调试笔记 --- 替换系统签名
- [RK3288][Android6.0] 调试笔记 --- 屏蔽系统下拉菜单显示
- [RK3288][Android6.0] 调试笔记 --- 修改系统按键
- [RK3288][Android6.0] 调试笔记 --- 系统识别不同硬件版本方法
- [RK3288][Android6.0] 调试笔记 --- 系统自带预置第三方APK方法
- [RK3288][Android6.0] 调试笔记 --- 读取当前DDR频率方法
- [RK3288][Android6.0] 调试笔记 --- USB Camera旋转图像方法
- [RK3288][Android6.0] 调试笔记 --- 屏幕显示旋转方法
- [RK3288][Android6.0] 调试笔记 --- kill掉service后不重启方法
- [RK3288][Android6.0] 调试笔记 --- 读取GPU当前频率方法
- [RK3288][Android6.0] 调试笔记 --- Recovery执行脚本方法
- [RK3288][Android6.0] 调试笔记 --- 命令行播放音乐方法
- [RK3288][Android6.0] 调试笔记 --- 命令行录音方法
- Android studio中git的使用
- vi-vim常用命令
- c++类的静态成员变量/静态成员函数
- Nginx基础架构设计
- Bootstrap基础5——well和jumbotron容器
- [RK3288][Android6.0] 调试笔记 --- 系统Dump Callstack方法
- 【CodeForces 510B】 Fox And Two Dots (dfs+bfs)
- 半睡半醒设计模式之概述
- 针对400错误使用Spring MVC HandlerExceptionResolver处理异常
- 无法读取配置节 system.serviceModel 因为它缺少节声明的解决方法
- 读马云《未来已来》
- 如何在神箭手上快速开发爬虫——第一课 简单的文章爬虫【糗事百科】
- ospf lsu报文格式
- 扩展欧几里得算法详解