LLDB有便捷变量吗?如果有,我该如何使用它们?如果没有,是否有类似的东西可以使用?
LLDB有便捷变量吗?如果有,我该如何使用它们?如果没有,是否有类似的东西可以使用?
help expr
,您会看到:
因此,用户定义的变量: 您可以定义自己的变量以便于使用或在后续表达式中使用。 你可以像在C语言中定义变量一样定义它们。如果您用户定义的变量的第一个字符是$, 那么这个变量的值将在将来的表达式中可用,否则它只在当前表达式中可用。
expr int $foo = 5
就是我想要的。expr list
的东西... - Jonathan Crooke今天我遇到了一些困难。以下是在LLDB中处理Objective-C变量的样子:
expr UIApplication *$app = (UIApplication *)[UIApplication sharedApplication]
expr UIWindow *$keyWindow = (UIWindow *)[$app keyWindow]
等等,我发现如果您不嵌套任何调用,并在每个调用上明确给出返回类型,则LLDB的效果最佳。
尽管如此,当我尝试使UIView上的initWithFrame:
起作用时,我仍然会遇到分段错误。:/
只需使用表单:
(lldb) expr var
以下是他们的教程内容:
(lldb) expr self $0 = (SKTGraphicView *) 0x0000000100135430 (lldb) expr self = 0x00 $1 = (SKTGraphicView *) 0x0000000000000000
You can also call functions:
(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
对于Swift版本
e let $data = Data()
po $data
输出:
▿ 0 bytes
- count : 0
▿ pointer : 0x000000016d36d9d0
- pointerValue : 6127278544
- bytes : 0 elements