通过debuggerd -b [pid],可输出Native进程的调用栈,这些信息是通过解析/proc/[pid]/maps而来的。
一、概述
当发生ANR(Application Not Response,对于Java进程可通过kill -3向目标进程发送信号SIGNAL_QUIT, 输出相应的traces信息保存到目录/data/anr/traces.txt;而对于Native进程可通过 debuggerd输出traces信息。
可通过一条命令来获取指定Native进程的traces信息,例如输出pid=17529进程信息:
> adb shell
> # debuggerd -b `pidof android.hardware.camera.provider@2.4-service_64`
----- pid 10593 at 2021-08-17 20:33:32 -----
Cmd line: /vendor/bin/hw/android.hardware.camera.provider@2.4-service_64
ABI: 'arm64'