无法使用命令行进行远程调试`process connect connect:// iOSIP:Port`

时间:2017-06-03 09:57:21

标签: ios xcode lldb

我正在阅读的主题是iOS逆向工程书中的LLDB和debugserver,并在下面详细地遇到错误。

所有配置都很好。 但是当我使用Xcode5或Xcode6的lldb时,命令process connect connect:iOSIP:Port出现如下错误,

  

(lldb)进程connect connect://10.18.136.168:1234断言失败:   (pointer_byte_size == m_host_arch.GetAddressByteSize()),函数   GetHostInfo,文件   /SourceCache/lldb/lldb-300.2.53/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp,   第1266行。中止陷阱:6

当我使用Xcode8的lldb时,命令process connect connect:iOSIP:Port出现如下错误,

  

(lldb)进程connect connect://10.18.136.168:1234进程8147   停止   *线程#1,停止原因=信号SIGSTOP       帧#0:0x00000001987ace0c错误:0x1987ace00的内存读取失败

环境:

  1. macOS Sierra
  2. Xcode 8.3.2
  3. Xcode 6.0.1
  4. Xcode 5.0.2
  5. iOS 8.2 jailbroken
  6. 我使用命令行process connect connect://10.18.136.168:1234尝试了三个版本的Xcode的lldb,都失败了。

1 个答案:

答案 0 :(得分:0)

过了一会儿,我找到了一个解决方案,我想在这里分享。

解决方案链接:http://bbs.iosre.com/t/failed-to-remote-debugging-on-using-command-line-process-connect-connect-iosip-port/8259/4

问题在于设备的架构。当我使用debugserver架构细化armv7s并且无法附加process时。

但是,在链接到https://reviews.llvm.org/file/data/j3cbbw4262e57hrbundw/PHID-FILE-vojdaczcpqpc5h2sl6hl/file的功能pointer_byte_size == m_host_arch.GetAddressByteSize()中有一个显示GetHostInfo的网页。

所以我通过使用arm64输出新的debugserver来对其进行细化,命令如下所示

  

lipo -thin arm64 debugserver -output debugserver   codesign -s --entitlements ent.plist -f debugserver

最后,它适用于我的iphone 5,调试任何应用程序都很顺利。