在android上使用lldb-server调试Lldb?

icnyk63a  于 2023-02-02  发布在  Android
关注(0)|答案(1)|浏览(329)

我目前没有电脑。我有两个根设备Arm64主机设备与Debian rootfs和设备被调试,其中包含lldb服务器二进制armv7。我试图远程调试我的Android设备使用lldb。我拉lldb-server二进制从àndroid ndk 24,并把它放在/data/local/tmp。在Another term上安装了DebianSid,在lldb上安装了apt
然后,我使用带有linux rootfs的主机对客户端设备(一个带有lldb-server)进行了wifi热点定位。
我在服务器设备上运行的命令

./data/local/tmp/lldb-server platform --listen "*:2000"  --server

使用netstat检查,lldb-server已绑定到所有地址(0.0.0.0:2000
debian sid终端i中的主机(客户端lldb)设备上运行:

apt install lldb
lldb
platform select remote-android
platform connect connect://192.168.201.132:2000

然后得到error failed connect port
然而,使用Gdbgdbserver一切工作完美。我已经尝试安装lldbdebian buster上,但相同的结果,甚至运行lldb-server二进制在主机(设备与debian sid),但相同的结果。现在我困在这里。我如何解决这个问题?
我们会很感激你的帮助。谢谢。

0md85ypi

0md85ypi1#

我不知道为什么,但lldb-server平台命令是坏的(mabe在我的情况下),应该使用lldb-server gdbserver如下:
lldb-server gdbserver命令中,存根不允许来自其他ip的连接,但它绑定到的ip除外,因此请执行以下操作:

iptables -I INPUT -t nat -p tcp -d 192.168.43.1 --dport 2000 -j SNAT --to-source 192.168.43.1:50000
./data/local/tmp/lldb-server g 192.168.43.1:2000

lldb客户端上执行

gdb-remote 192.168.43.1:2000

然后执行正常的远程调试。

相关问题