Swift (lldb)错误:闭包中不包含匿名闭包参数
近似 但与lldb有关Swift (lldb)错误:闭包中不包含匿名闭包参数,swift,xcode,lldb,Swift,Xcode,Lldb,近似 但与lldb有关 tableViews.forEach { $0.dataSource = self $0.delegate = self $0.estimatedRowHeight = 30 ^^^^^^^^^^^^^^ breakpoint is here } 试图调试 (lldb)p$0.5 错误::3:1:错误:中未包含匿名闭包参数 一个0.5美元的收尾 (lldb)采购订单$0.5 错误::3:1:错误:中未
tableViews.forEach {
$0.dataSource = self
$0.delegate = self
$0.estimatedRowHeight = 30
^^^^^^^^^^^^^^ breakpoint is here
}
试图调试
(lldb)p$0.5
错误::3:1:错误:中未包含匿名闭包参数
一个0.5美元的收尾
(lldb)采购订单$0.5
错误::3:1:错误:中未包含匿名闭包参数
结束
0.5美元
可视化调试(将光标定位在$0上)不起作用,
您可以扩展树,并深入到您感兴趣的变量。但是有一个小问题,uitableview中有无数这样的工具,因此可视化调试的意图为
理解地狱
鉴于调试工作的可视部分,必须有某种方法
从命令行中有吗????我怎么能只得到我感兴趣的部分呢?实际上,“p”命令编译您键入的文本,就好像表达式已经出现在您停止的帧的文本中一样。要做到这一点,它必须完全重新创建上下文。lldb在这方面做得很好,但它还不知道如何在编译表达式时使用的上下文中模拟$closure自动变量
但是更一般地说,print
试图完成的工作是一项更为艰巨的任务,即仅查看局部变量,毫不奇怪,lldb还有一种更直接的方式来查看简单的局部变量。Xcode使用该工具来实现局部视图和工具提示。但它也是一个lldb命令行命令:
(lldb) frame var $0
“frame var”命令没有完整的语言解析器,例如,它不能计算表达式。但它确实允许您指定结构的元素,例如:
(lldb) frame var $0.delegate
使用
frame var
命令您可能会更幸运。没错,正如您所说的$0上的frame var本身及其道具在计算属性上不起作用,而旧版lldb gdb和objective c runtime在Xcode 10.2中添加的“v”运行速度非常快。但不知道有多可靠。