You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:Xcode 14调试Swift文件时po命令报错,ObjC文件正常

Xcode 14 混编项目Swift调试po命令报错解决方案

问题描述

项目包含Swift和Objective-C文件,升级Xcode 14后,Swift文件断点调试时使用po/p/v命令均报错,Objective-C文件中使用这些调试命令完全正常。

报错信息

(lldb) po dependencies
warning: Swift error in scratch context: error: failed to load module 'AppName'
.
Shared Swift state for AppName has developed fatal errors and is being discarded.
REPL definitions and persistent names/types will be lost.

error: expression failed to parse:
unknown error

已尝试无效操作

  • 清理DerivedData
  • 重新安装Xcode
  • 重新下载完整仓库代码

可行解决方法

  • 调整调试信息格式
    打开项目Target的Build Settings,找到Debug Information Format,将Debug模式下的设置改为DWARF with dSYM File。Xcode 14对混编项目的调试符号完整性要求更高,仅DWARF可能导致LLDB无法正确加载Swift模块。

  • 检查桥接文件与Swift库嵌入配置

    1. 确认Objective-C Bridging Header路径配置正确,桥接文件无语法错误;
    2. 将Build Settings中的Always Embed Swift Standard Libraries设为Yes(Debug和Release模式都需设置)。
  • 关闭Debug模式编译优化
    在Build Settings的Optimization Level中,把Debug模式的选项改为No Optimization [-O0],编译优化会导致调试时符号信息丢失,引发LLDB解析失败。

  • 重置LLDB配置
    终端执行命令删除LLDB用户配置文件,重启Xcode后重试:

    rm -rf ~/.lldbinit
    
  • 统一模块名与Target名称
    检查Build Settings中的Product Module Name,确保其与Target名称完全一致,避免LLDB加载模块时出现名称不匹配的问题。

内容的提问来源于stack exchange,提问作者Nikita Merkel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 06:45:35