[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