You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

LLDB RPC server导致Xcode调试macOS/iOS应用冻结,寻求解决办法

解决Xcode调试macOS/iOS应用时lldb-rpc-server导致的卡死问题

我之前在Xcode 9.x版本搭配macOS High Sierra时也踩过几乎一模一样的调试坑,折腾了好几天总结出几个有效的排查方向,你可以挨个试试:

  • 重置LLDB配置文件
    有时候LLDB的本地配置会出现异常,直接导致lldb-rpc-server进程卡死。你可以先备份现有配置,再删除相关文件:

    # 备份LLDB初始化文件
    mv ~/.lldbinit ~/.lldbinit.bak
    # 备份LLDB偏好设置
    mv ~/Library/Preferences/com.apple.lldb.plist ~/Library/Preferences/com.apple.lldb.plist.bak
    

    操作完成后重启Xcode,重新构建并调试项目,看是否能恢复正常。

  • 检查并重置系统调试权限
    系统的开发者调试权限配置异常,也会导致LLDB无法正常附着应用进程。可以按以下步骤操作:

    1. 打开「系统偏好设置」→「安全性与隐私」→「隐私」标签页
    2. 找到「开发者工具」选项,确认Xcode已被勾选
    3. 如果已经勾选,先取消勾选,重启Mac后再重新勾选Xcode
  • 彻底清理Xcode缓存与衍生数据
    旧的构建缓存、衍生数据可能干扰调试流程,导致lldb-rpc-server异常。用以下命令清理:

    # 清理Xcode全局缓存
    rm -rf ~/Library/Caches/com.apple.dt.Xcode
    # 清理项目衍生数据
    rm -rf ~/Library/Developer/Xcode/DerivedData
    

    清理完成后重启Xcode,重新构建项目尝试调试。

  • 排查第三方Xcode插件冲突
    如果你安装了Alcatraz或其他第三方Xcode插件,这些插件很可能和LLDB的调试流程冲突。可以先临时禁用所有插件:

    defaults write com.apple.dt.Xcode IDEDisablePlugIns -bool YES
    

    重启Xcode后测试调试功能,如果恢复正常,再逐一启用插件,找出导致冲突的那一个。

  • 调整Xcode调试设置
    部分调试增强选项可能触发这个已知bug,你可以尝试关闭它们:

    1. 打开Xcode的「Preferences」→「Debugging」标签页
    2. 暂时取消勾选「Enable Address Sanitizer」「Enable Thread Sanitizer」(如果开启的话)
    3. 关闭「Automatically show variables view when debugging starts」选项

另外,你提到的这个问题是Xcode 9.x版本的已知兼容性bug,重新安装Xcode没用的话,可以试试下载Xcode 9.4版本(和macOS 10.13.4兼容),或者降级到Xcode 9.2,版本适配可能会解决这个问题。

内容的提问来源于stack exchange,提问作者T'n'E

火山引擎 最新活动