使用LLDB和debugserver对ios程序进行调试
在没有WIFI的情况下,使用USB连接IOS设备,使用辅助插件usbmuxd来辅助调试。我其实也想用wifi调试,奈何公司的wifi绑定了mac地址,而我又使用的是黑苹果虚拟机,使用桥接的方式修改网段也无法解决问题。没办法以后拷贝文件的用ifunbox,调试用usbmuxd。
要想实现通过debugserver连接lldb来调试ios设备,要满足四部:
1 .把本地2222端口转发到ios的22端口,使用命令如下:Mac:python-client 2f28$ python tcprelay.py -t 22:2222,当然此时要进入usbmuxd目录才行。
如果出现:Forwarding local port 2222 to remote port 22 说明连接成功。
2 . 使用ssh到IOS设备,并且用debugserver附加到指定程序,我调试的是微信所以指令为:ssh root@localhost -p 2222
第二条指令:debugserver *:1234 -a "WeChat
前一条指令是连接登陆到ios设备,后一条指令时开始debugserver并且监听来自端口1234的调试指令。
3 .把本地1234端口转发到iOS设备的1234端口,命令如下:python tcprelay.py -t 1234:1234
如果出现:Forwarding local port 1234 to remote port 1234 说明连接成功
4 . 使用lldb开始调试,命令如下:lldb
第二条命令:
(lldb)process connect connect://localhost:1234;
注意事项:
1 .一定要是越狱设备,这是一切的前提。
2.debugserver一定要先从本机的ios设备上提取出来,再签名,然后放到其他目录,最好是/var/usr/bin ,记住一定要签名。签名方式有两种,可能会失败,两种方法都试试。
链接:https://bbs.pediy.com/thread-203592.htm
3.注意,上面的四步一步都不能少,不让肯定失败