【问题标题】:Import UIKit for debugging Objective-C by default默认导入用于调试Objective-C的UIKit
【发布时间】:2015-10-09 06:59:21
【问题描述】:

每当我尝试读取UIViewframe 时,例如在调试时,我都会收到此错误:

错误:在“UIView *”类型的对象上找不到属性“框架”
error: 1 解析表达式错误

在寻找解决方案后,我发现我可以使用这个命令来解决这个问题,而无需添加 (烦人并且在某些情况下很复杂) 强制转换:

expr @import UIKit;

但我仍然觉得每次都必须这样做很烦人(为什么 Xcode 默认不这样做?!),所以我认为我应该能够使用 @ 来做到这一点987654324@ 文件,但我无法让它工作。

我不太了解那个文件,atm 里面有这个:

command script import /usr/local/opt/chisel/libexec/fblldb.py

所以我尝试在文件末尾添加UIKit import 命令,但它看起来不起作用。我还尝试在它前面加上 command 无济于事。这可能吗? (请说是;它会救我的命)

【问题讨论】:

    标签: objective-c debugging lldb


    【解决方案1】:

    lldb 将自动导入调试信息告诉我们程序现在很快导入的模块。对于第一个 Xcode 7 版本,所有部件都没有到位。

    .lldbinit 中的语句在读入主文件之前运行,它应该有助于设置环境以读入程序。但那时没有任何东西可以导入这些符号。您需要在读入主二进制文件后执行此操作(并且您确实需要在运行后执行此操作,因为我认为我们需要运行一些代码来执行此操作。)

    目前,最简单的方法是在 main 处创建一个自动继续断点,并在该断点中附加 expr @import UIKit 语句作为调试器命令。您必须为每个新项目执行一次此操作,但如果您在同一项目上工作了一段时间,这并不是一个不方便的解决方法。

    【讨论】:

    • 哇,没想到这么简单的解决方案。谢谢!我希望它不会减慢项目的运行速度。另外,我认为将断点移动到 User 解决了多个项目的不便。
    • 5 年后,lldb 仍然不这样做!
    猜你喜欢
    • 1970-01-01
    • 2010-10-26
    • 1970-01-01
    • 1970-01-01
    • 2018-10-14
    • 1970-01-01
    • 2011-02-19
    • 1970-01-01
    • 2012-04-07
    相关资源
    最近更新 更多