使用Xcode 10,当我使用断点停止我的应用并尝试在控制台中打印对象的内容时,我获得:
“无法生成IRGen表达式,没有其他错误”
但是,我可以在“变量视图”面板中看到对象的值。
如何让它评估我的表情?
答案 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