解决 LLDB 出现 “Couldn't IRGen expression” 的问题

栏目: Objective-C · 发布时间: 6年前

内容简介:大半个月前在用 Xcode 10 Debug 的时候,遇到了 LLDB 完全不工作的问题。当时因为是小问题,于是就以「不 DEBUG」的形式绕了过去。今天在写代码的时候觉得不用 LLDB 不行了,于是花时间解决了一下。这个问题是这样的,在 LLDB 里,无论 po 或者执行其他操作,均显示这样的错误:error: Couldn't IRGen expression, no additional error。

大半个月前在用 Xcode 10 Debug 的时候,遇到了 LLDB 完全不工作的问题。当时因为是小问题,于是就以「不 DEBUG」的形式绕了过去。今天在写代码的时候觉得不用 LLDB 不行了,于是花时间解决了一下。

这个问题是这样的,在 LLDB 里,无论 po 或者执行其他操作,均显示这样的错误:error: Couldn't IRGen expression, no additional error。

解决 LLDB 出现 “Couldn't IRGen expression” 的问题

因为当时在另外一个项目没有问题,加上以前 Swift 在 LLDB 下就是有各种奇怪的问题,我当时的直觉是 Xcode 10 依然很烂,于是先放一边了。

今天决定再尝试研究一下这个问题,于是终于在 StackOverflow 上搜到了这个问题的答案——非常巧的是,这个问题是昨天回答的,也就是说,如果我上周、上上周,都尝试去找这个问题的答案的话,可能一直会找不着:sweat_smile:

这个问题主要是直接使用了 Carthage 从官方网站下载的二进制 Framework 导致的,比如我使用了 RxSwift,我没有使用自己编译的 RxSwift,而是用 Carthage 默认的设置使用了官方下载的 RxSwift,于是就会有这个问题。

所以用 Carthage 的朋友们,一定要记得使用这个参数来更新,即不要使用现成的二进包:

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

至于 RxSwift 的官方到底是用了啥编译参数导致编译出来的 Framework 不能 LLDB,这就需要研究 Swift + LLDB 了。

来源: https://stackoverflow.com/a/52664610/750768


以上所述就是小编给大家介绍的《解决 LLDB 出现 “Couldn't IRGen expression” 的问题》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Cyberwar

Cyberwar

Kathleen Hall Jamieson / Oxford University Press / 2018-10-3 / USD 16.96

The question of how Donald Trump won the 2016 election looms over his presidency. In particular, were the 78,000 voters who gave him an Electoral College victory affected by the Russian trolls and hac......一起来看看 《Cyberwar》 这本书的介绍吧!

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具