tableViews.forEach {
$0.dataSource = self
$0.delegate = self
$0.estimatedRowHeight = 30
^^^^^^^^^^^^^^ breakpoint is here
}
Run Code Online (Sandbox Code Playgroud)
尝试调试
(lldb)p $ 0。
错误::3:1:错误:闭包$ 0中不包含匿名闭包参数.delegate
(lldb)po $ 0。委托
错误::3:1:错误:闭包$ 0中不包含匿名闭包参数.delegate
可视化调试(将光标定位在$ 0上)确实有效,您可以扩展树并下移至您感兴趣的变量。但是有一个小问题,用于uitableview的用户数不胜数,因此可视化调试意图为通往理解地狱的道路
鉴于调试工作的可视部分,必须有某种方法可以从命令行到达那里?我怎样才能只获得自己感兴趣的部分?
实际上,“ p”命令会编译您键入的文本,就像该表达式已出现在您所停靠的框架的文本中一样。为此,它必须完全重新创建该上下文。lldb拥有很多这种权利,但它尚不知道如何在用于编译表达式的上下文中模拟$闭包自动变量。
但是更一般地说,这项工作print尝试完成的任务要艰巨得多,仅查看局部变量,并不奇怪lldb也具有查看简单局部变量的更直接的方法。该工具是Xcode用于实现本地视图和工具提示的工具。但这也是lldb命令行命令:
(lldb) frame var $0
Run Code Online (Sandbox Code Playgroud)
“ frame var”命令没有完整的语言解析器,例如,它无法计算表达式。但是它确实允许您指定结构的元素,例如:
(lldb) frame var $0.delegate
Run Code Online (Sandbox Code Playgroud)
您可能对frame var命令有更多的希望。
| 归档时间: |
|
| 查看次数: |
368 次 |
| 最近记录: |