我的机器上有nexus 7的所有代码和一个根设备。
我可以使用gdbclient和gdbserver调试用户空间应用程序,但如何利用gdbclient和gdbserver调试内核?
我看到了this文章,但它解释了如何做qemu,如何调试真正的电路板。

最佳答案

不管是通过gdbclient还是通过gdbserver
我更喜欢使用gdbclient,它更简单,需要的命令更少。
首先确保adbd以根用户身份运行

    adb root

其次,在你的设备中插入shell,找出你想调试的应用程序名
    adb shell
    ps // list all process running in the device

第三,退出外壳连接
    exit

最后,使用gdbclient连接到应用程序,例如连接到“mediaserver”
    gdbclient mediaserver :5039 mediaserver

默认情况下,远程gdb监听端口5039,不要与ddms混淆,默认情况下,ddms运行在5037。
希望这有帮助!

10-08 06:20