导入UIKit默认调试Objective-C

时间:2015-07-20 08:15:50

标签: objective-c debugging lldb

每当我在调试时尝试读取frame的{​​{1}}时,我都会收到此错误:

  

错误:属性'在类型对象上找不到框架' UIView *'
  错误:解析表达式时出错1个

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

UIView

但是我仍然觉得每次都必须这样做很烦人(为什么Xcode默认不这样做?!),所以我想我应该能够这样做expr @import UIKit; 文件,但我无法让它工作。

我对这个文件了解不多,我在其中有这个:

.lldbinit

所以我尝试在文件末尾添加command script import /usr/local/opt/chisel/libexec/fblldb.py 导入命令,但它看起来没有用。我也尝试用UIKit作为前缀,但无济于事。这可能吗? (请说是;它会挽救我的生命)

1 个答案:

答案 0 :(得分:11)

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

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

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