十分有用的命令,debug 相关

本文介绍了三个实用的Android调试命令,包括使用debuggerd获取进程线程backtrace以分析死锁,检查系统服务注册状态确保服务正常运行,以及通过ps命令查看应用的架构信息。这些命令对于Android开发者进行问题排查和性能优化极具帮助。
摘要由CSDN通过智能技术生成

1、打印某个进程中所有线程的backtrace

adb shell debuggerd -b pid

C:\Users\hxiong>adb root

C:\Users\hxiong>adb shell
generic_x86_64:/ # ps | grep cameraserver
cameraserver 1293  1     21368  5700  binder_thr 00ffffe430 S /system/bin/camera
server
generic_x86_64:/ # debuggerd -b 1293
Sending request to dump task 1293.

----- pid 1293 at 2017-06-17 08:00:15 -----
Cmd line: /system/bin/cameraserver
ABI: 'x86'

"cameraserver" sysTid=1293
  #00 pc ffffe430  [vdso:ffffe000] (__kernel_vsyscall+16)
  #01 pc 0008a07c  /system/lib/libc.so (__ioctl+28)
  #02 pc 000251f1  /system/lib/libc.so (ioctl+42)
  #03 pc 000477e7  /system/lib/libbinder.so (_ZN7android14IPCThreadState14talkWithDriverEb+343)
  #04 pc 0004799a  /system/lib/libbinder.so (_ZN7android14IPCThreadState20getAndExecuteCommandEv+42)
  #05 pc 0004826f  /system/lib/libbinder.so (_ZN7android14IPCThreadState14joinThreadPoolEb+95)
  #06 pc 00000950  /system/bin/cameraserver
  #07 pc 00016bd6  /system/lib/libc.so (__libc_init+100)
  #08 pc 000007c2  /system/bin/cameraserver

"EmulatedCameraH" sysTid=1310
  #00 pc ffffe430  [vdso:ffffe000] (__kernel_vsyscall+16)
  #01 pc 0008b9ac  /system/lib/libc.so (read+28)
  #02 pc 00099880  /system/lib/libc.so (__read_chk+74)
  #03 pc 00019bb1  /system/lib/hw/camera.ranchu.so (_ZN7android27EmulatedCameraHotplugThread10threadLoopEv+625)
  #04 pc 00012095  /system/lib/libutils.so (_ZN7android6Thread11_threadLoopEPv+309)
  #05 pc 00011883  /system/lib/libutils.so (_ZN13thread_data_t10trampolineEPKS_+259)
  #06 pc 00086cdf  /system/lib/libc.so (_ZL15__pthread_startPv+190)
  #07 pc 00022f00  /system/lib/libc.so (__start_thread+25)
  #08 pc 00020766  /system/lib/libc.so (__bionic_clone+70)

"Binder:1293_1" sysTid=1576
  #00 pc ffffe430  [vdso:ffffe000] (__kernel_vsyscall+16)
  #01 pc 0008a07c  /system/lib/libc.so (__ioctl+28)
  #02 pc 000251f1  /system/lib/libc.so (ioctl+42)
  #03 pc 000477e7  /system/lib/libbinder.so (_ZN7android14IPCThreadState14talkWithDriverEb+343)
  #04 pc 0004799a  /system/lib/libbinder.so (_ZN7android14IPCThreadState20getAndExecuteCommandEv+42)
  #05 pc 0004826f  /system/lib/libbinder.so (_ZN7android14IPCThreadState14joinThreadPoolEb+95)
  #06 pc 0006edbe  /system/lib/libbinder.so (_ZN7android10PoolThread10threadLoopEv+46)
  #07 pc 00012095  /system/lib/libutils.so (_ZN7android6Thread11_threadLoopEPv+309)
  #08 pc 00011883  /system/lib/libutils.so (_ZN13thread_data_t10trampolineEPKS_+259)
  #09 pc 00086cdf  /system/lib/libc.so (_ZL15__pthread_startPv+190)
  #10 pc 00022f00  /system/lib/libc.so (__start_thread+25)
  #11 pc 00020766  /system/lib/libc.so (__bionic_clone+70)

"Binder:1293_2" sysTid=2168
  #00 pc ffffe430  [vdso:ffffe000] (__kernel_vsyscall+16)
  #01 pc 0008a07c  /system/lib/libc.so (__ioctl+28)
  #02 pc 000251f1  /system/lib/libc.so (ioctl+42)
  #03 pc 000477e7  /system/lib/libbinder.so (_ZN7android14IPCThreadState14talkWithDriverEb+343)
  #04 pc 0004799a  /system/lib/libbinder.so (_ZN7android14IPCThreadState20getAndExecuteCommandEv+42)
  #05 pc 0004826f  /system/lib/libbinder.so (_ZN7android14IPCThreadState14joinThreadPoolEb+95)
  #06 pc 0006edbe  /system/lib/libbinder.so (_ZN7android10PoolThread10threadLoopEv+46)
  #07 pc 00012095  /system/lib/libutils.so (_ZN7android6Thread11_threadLoopEPv+309)
  #08 pc 00011883  /system/lib/libutils.so (_ZN13thread_data_t10trampolineEPKS_+259)
  #09 pc 00086cdf  /system/lib/libc.so (_ZL15__pthread_startPv+190)
  #10 pc 00022f00  /system/lib/libc.so (__start_thread+25)
  #11 pc 00020766  /system/lib/libc.so (__bionic_clone+70)

----- end 1293 -----
generic_x86_64:/ #


这个命令(工具)很有用,比如出现死锁的时候,通过打印线程的信息大概可以分析出来,比如有两个线程都在等同一把锁。


2、打印系统所有注册的服务

adb shell service list

C:\Users\hxiong>adb shell service list
Found 117 services:
0      
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值