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