您的位置:首页 > 移动开发 > Android开发

[RK3288][Android6.0] 调试笔记 --- 系统Dump Callstack方法

2017-07-31 18:12 531 查看
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 system
01-06 07:53:13.505   555   555 E kris    : java.lang.Throwable
01-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.so
01-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)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: