gdbclient 在哪里?

Where is gdbclient?

我正在尝试调试 Android (4.4.2) 上本机代码的崩溃,我使用 adb shell setprop debug.db.uid 999999 在崩溃时启动调试器。 Logcat 正在显示连接到进程的说明,但我在 SDK 或 NDK 中找不到任何文件 gdbclient 或 gdbclient.py。我在网上看到一些参考资料说它是 envsetup.sh 脚本的一部分,但是 afaik 只用于构建整个 Android OS,而不是用于应用程序开发。

I/DEBUG   ( 5481):     400471fc ffe4f7ff d1064286 4629200f e8d6f00d
I/DEBUG   ( 5481):     4004720c d03c2800 482ee02e f7fb4478 482debb6
I/DEBUG   ( 5481):     4004721c e0154478 d11342b0 482b6a06 f7fb4478
I/DEBUG   ( 5481):     4004722c 4a2aec2e 46332120 a801447a f92af013
I/DEBUG   ( 5481):     4004723c a8012101 fc48f01a 46061c42 e011d104
I/DEBUG   ( 5481):     4004724c 28006800 e02cd1e6 46294630 f00d4622
I/DEBUG   ( 5481):     4004725c 1c43e912 d11e4607 f9c4f001 29046801
I/DEBUG   ( 5481): !@dumpstate -k -t -z -d -o /data/log/dumpstate_app_native -m 15972
I/DEBUG   ( 5481): ptrace detach from 16113 failed: No such process
I/DEBUG   ( 5481): ********************************************************
I/DEBUG   ( 5481): * Process 15972 has been suspended while crashing.  To
I/DEBUG   ( 5481): * attach gdbserver for a gdb connection on port 5039
I/DEBUG   ( 5481): * and start gdbclient:
I/DEBUG   ( 5481): *
I/DEBUG   ( 5481): *     gdbclient app_process :5039 15972
I/DEBUG   ( 5481): *
I/DEBUG   ( 5481): * Wait for gdb to start, then press HOME or VOLUME DOWN key
I/DEBUG   ( 5481): * to let the process continue crashing.
I/DEBUG   ( 5481): ********************************************************

gdbclient 是一个平台工具(即我们在处理 AOSP 本身时用于 运行 GDB 的工具;不是应用程序)。

https://source.android.com/devices/tech/debug/gdb 是您正在寻找的文档,但除非您有设备的符号,否则它不会有多大用处(尝试调试 KitKat 设备是另一个挑战)。