I currently dont have a pc. I have two rooted devices Arm64
host device with Debian rootfs and the device to be debugged which contains the lldb-server binary armv7
. I am trying to remote debug my android device using lldb. I pulled the lldb-server
binary from àndroid ndk24 and put it in /data/local/tmp
. Installed Debian
Sid
on Another term
and apt
installed lldb
.
I then wifi hotspoted the client device(one with lldb-server
) using the host with the linux rootfs.
The commands i ran on server device
./data/local/tmp/lldb-server platform --listen "*:2000" --server
Checked using netstat
and the lldb-server had bound to all addresses(0.0.0.0:2000
)
On host(client lldb
) device in debian sid
terminal i ran:
apt install lldb
lldb
platform select remote-android
platform connect connect://192.168.201.132:2000
Then i get error failed connect port
.
However, using Gdb
and gdbserver
everything worked perfectly. I have tried installing lldb
on debian buster
but same result and even ran the lldb-server
binary on the host(device with debian sid
) but same result. Right now im stuck here. How do I solve this?
Help will be greatly appreciated. Thank you.
CodePudding user response:
I dont know why, but lldb-server
platform command is broken(mabe in my case) and should have used lldb-server gdbserver
like this:
On lldb-server gdbserver
command, the stub doesnt allow connections from other ips except the one it is bound to so do this:
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
On lldb
client do
gdb-remote 192.168.43.1:2000
Then do normal remote debugging.