【问题标题】:Failed to remote debugging on using command line `process connect connect://iOSIP:Port`使用命令行`process connect connect://iOSIP:Port`远程调试失败
【发布时间】:2017-11-04 16:14:36
【问题描述】:

我正在阅读iOS逆向工程书中的主题是LLDB和调试服务器,并遇到如下详细错误。

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

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

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

(lldb) 进程连接 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 越狱

我用命令行process connect connect://10.18.136.168:1234试了三个Xcode版本的lldb,都失败了。

【问题讨论】:

    标签: ios xcode lldb


    【解决方案1】:

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

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

    问题在于设备的架构。当我使用armv7s 架构对debugserver 进行细化时,它无法附加process

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

    于是我通过arm64进行细化,输出一个新的debugserver,命令如下图

    lipo -thin arm64 调试服务器 -输出调试服务器 codesign -s - --entitlements ent.plist -f debugserver

    终于在我的iphone 5上运行了,调试任何app都可以,很流畅。

    【讨论】:

      猜你喜欢
      • 2021-11-11
      • 2019-08-24
      • 2016-11-13
      • 1970-01-01
      • 2016-08-01
      • 2018-11-11
      • 2017-06-20
      • 2013-09-01
      • 2019-10-16
      相关资源
      最近更新 更多