【发布时间】:2019-07-13 13:25:49
【问题描述】:
我们有一个大型项目,其中有很多通过 Carthage 引入的依赖项。每当我们尝试在 lldb 调试器 (p variablename) 中查看变量时,它都会给我们一个错误:error: Couldn't IRGen expression, no additional error
没有一种解决方法非常好。我们可以使用--no-use-binaries 运行 carthage 来绕过它,但它会使构建花费非常长的时间。我们可以在一些变量上使用fr v,但不是全部。人们已经在以前版本的 Xcode 中通过更改某些 Swift 目录的权限来解决此问题,但我在 Xcode 10.1 中找不到相应的目录。我看到有人说来回更改构建系统对他有帮助,但这对我们没有用。
因此,我开始专门针对 Xcode 10.1 寻找解决方案。有没有其他人发现是什么导致了这个错误,和/或一个好的解决方案?
【问题讨论】:
-
我们似乎最终找到了问题的根本原因:我们的依赖项之一缺少头文件。当我们在依赖项中包含头文件时,主项目就可以在 lldb 中显示变量信息,而不会遇到任何麻烦。我们不明白为什么这个简单的修复解决了神秘的错误,但我们可以接受。