LLDB是否有便利的variables($ var)?

LLDB是否有便利的变数 ? 如果是这样,我该如何使用它们? 如果不是,有没有类似的东西可以使用?

参考: http : //software.intel.com/sites/products/documentation/hpc/atom/application/debugger/commands143.html

我终于明白了自己。 在LLDB中运行help expr ,您将看到:

用户定义的variables:您可以定义自己的variables以方便使用或在后续expression式中使用。 您可以用与在C中定义variables相同的方式来定义它们。如果用户定义的variables的第一个字符是$,那么variables的值将在将来的expression式中可用,否则它将在当前expression式中可用。

所以expr int $foo = 5就是我想要的。

今天我挣扎着 以下是在LLDB中处理Objective-Cvariables的一些情况:

 expr UIApplication *$app = (UIApplication *)[UIApplication sharedApplication] expr UIWindow *$keyWindow = (UIWindow *)[$app keyWindow] 

等等我发现LLDB最好的工作,如果你不嵌套任何电话,你明确地给每个电话的返回types。

尽pipe如此,当我尝试创buildinitWithFrame:时仍然遇到了分段错误initWithFrame:稍后在UIView上工作。 :/

只需使用以下forms:

 (lldb) expr var 

从他们的教程 :

 (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