Xcode 10,LLDB:无法IRGen表达式

时间:2018-10-09 08:34:32

标签: lldb xcode10 swift4.2

使用Xcode 10,当我使用断点停止我的应用并尝试在控制台中打印对象的内容时,我获得:

  

“无法生成IRGen表达式,没有其他错误”

但是,我可以在“变量视图”面板中看到对象的值。

enter image description here

如何让它评估我的表情?

5 个答案:

答案 0 :(得分:4)

lldb中,作为解决方法,您可以使用:

fr v productVersion
fr v productBuild

从当前调用堆栈帧中打印局部变量类型和地址。

有关此类lldb功能的Apple文档:https://developer.apple.com/library/archive/documentation/General/Conceptual/lldb-guide/chapters/C5-Examining-The-Call-Stack.html

答案 1 :(得分:1)

谢谢。 我用重建的迦太基框架解决了问题,例如imtx.me/archives/2719.html

carthage update --platform iOS --no-use-binaries

答案 2 :(得分:0)

我已将构建系统定义为:“旧版构建系统”,将其更改为“新构建系统”,然后构建项目,然后将其放回“旧版构建系统”,然后它又重新工作了。 / p>

用于更改构建模式:File-> Workspace settings ...-> Build System

答案 3 :(得分:0)

对于我的同事来说,carthage update --platform iOS --no-use-binaries在工作,但对我而言却不是。当我删除Carthage文件夹并重新运行命令后,po命令开始工作?。我不确定是否相关,但是我在macOS Catalina 10.15.3上,而他在Mojave上。我们都有Carthage版本0.34.0。

答案 4 :(得分:0)

我的环境:Xcode 11.6和Xcode 12 Beta 6,迦太基0.34.0

就我而言,我的公司希望我使用Xcode 12 beta构建我们的应用程序,然后看看有什么问题。我做到了,遇到了another bug,这使迦太基瘫痪了。我通过遵循this answer中的same thread来解决它。

然后我切换回Xcode 11.6,错误开始出现

错误:无法IRGen表达式,没有其他错误

变量检查器正常工作,但是没有打印或po的调试控制台是无用的。我花了一些时间在SO中进行搜索,才意识到这可能与迦太基有关。然后,我使用以下命令更新了所有依赖项

carthage bootstrap --platform iOS --no-use-binaries --cache-builds 

然后调试恢复正常,我可以再次使用print / po