美文网首页
iOS12.2 配置debugserver + lldb调试环境

iOS12.2 配置debugserver + lldb调试环境

作者: SkyMing一C | 来源:发表于2021-02-03 15:16 被阅读0次

    1. Failed to get connection from a remote gdb process.

    将使用ldid导出的debugserver的debugserver.entitlements文件,如下:

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
        <key>com.apple.springboard.debugapplications</key>
        <true/>
        <key>com.apple.backboardd.launchapplications</key>
        <true/>
        <key>com.apple.backboardd.debugapplications</key>
        <true/>
        <key>com.apple.frontboard.launchapplications</key>
        <true/>
        <key>com.apple.frontboard.debugapplications</key>
        <true/>
        <key>run-unsigned-code</key>
        <true/>
        <key>seatbelt-profiles</key>
        <array>
            <string>debugserver</string>
        </array>
        <key>com.apple.diagnosticd.diagnostic</key>
        <true/>
        <key>com.apple.security.network.server</key>
        <true/>
        <key>com.apple.security.network.client</key>
        <true/>
        <key>com.apple.private.memorystatus</key>
        <true/>
        <key>com.apple.private.cs.debugger</key>
        <true/>
    </dict>
    </plist>
    

    需要修改成:

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
        <key>com.apple.backboardd.debugapplications</key>
        <true/>
        <key>com.apple.backboardd.launchapplications</key>
        <true/>
        <key>com.apple.frontboard.debugapplications</key>
        <true/>
        <key>com.apple.frontboard.launchapplications</key>
        <true/>
        <key>com.apple.springboard.debugapplications</key>
        <true/>
        <key>com.apple.system-task-ports</key>
        <true/>
        <key>get-task-allow</key>
        <true/>
        <key>platform-application</key>
        <true/>
        <key>run-unsigned-code</key>
        <true/>
        <key>task_for_pid-allow</key>
        <true/>
    </dict>
    </plist>
    

    重新ldid操作 给debugserver签上权限即可

    2. failed to get reply to handshake packet

    通过usb-replay的方式连接debugserver,

     (lldb) process connect connect://localhost:10011
    

    a. lldb窗口报错:

    error: failed to get reply to handshake packet
    

    b. debugserver窗口报:

    error: rejecting incoming connection from ::ffff:127.0.0.1 (expecting ::1)
    

    c. 解决方案:
    把debugserver启动试设置的监听

    debugserver *:10011 -a  pid
    

    改成为:

    debugserver localhost:10011 -a  pid
    

    相关文章

      网友评论

          本文标题:iOS12.2 配置debugserver + lldb调试环境

          本文链接:https://www.haomeiwen.com/subject/gtxmtltx.html