LLDB是否有convenience variables?如果是这样,我该如何使用它们?如果不是,是否有类似的东西可以使用?
答案 0 :(得分:50)
我终于弄明白了。在LLDB中运行help expr
,您会看到:
用户定义的变量: 为方便起见,您可以定义自己的变量,或者在后续表达式中使用。 您可以像在C中定义变量一样定义它们。如果是第一个字符 您的用户定义变量是$,那么变量的值将来可用 表达式,否则它只在当前表达式中可用。
所以expr int $foo = 5
就是我想要的。
答案 1 :(得分:22)
今天我一直在努力。以下是在LLDB中处理Objective-C变量的样子:
expr UIApplication *$app = (UIApplication *)[UIApplication sharedApplication]
expr UIWindow *$keyWindow = (UIWindow *)[$app keyWindow]
等。我发现如果你没有嵌套任何调用,LLDB效果最好,并且你在每次调用时都明确给出了返回类型。
但是当我稍后尝试让initWithFrame:
在UIView上工作时,我仍然遇到了分段错误。 :/
答案 2 :(得分:6)
只需使用表格:
(lldb) expr var
来自tutorial:
(lldb) expr self $0 = (SKTGraphicView *) 0x0000000100135430 (lldb) expr self = 0x00 $1 = (SKTGraphicView *) 0x0000000000000000
您也可以调用函数:
(lldb) expr (int) printf ("I have a pointer 0x%llx.\n", self) $2 = (int) 22 I have a pointer 0x0. (lldb) expr self = $0 $4 = (SKTGraphicView *) 0x0000000100135430