我试图在方法内的断点处打印发件人。我的方法有这个签名:
- (IBAction)purchaseButtonTapped:(id)sender
当我的程序遇到该方法中的断点时,我将po sender
键入lldb,我得到了这个:
error: use of undeclared identifier 'sender'
error: 1 errors parsing expression
我使用的任何其他p
,po
或c
命令都没有问题。如果我NSLog
我的发件人,例如NSLog(@"%@", sender);
它会毫无问题地打印我的UIButton
对象。这是lldb中的一个错误,还是因为编码了几个小时我的大脑变成了无生命的熔岩,我看不到明显的东西?
答案 0 :(得分:2)
在发布版本中,如果方法不使用sender
参数,则编译器不会在调试符号表中为其创建条目。所以你不能在调试器中po sender
。如果您知道参数是如何传递的(在哪个寄存器或堆栈中的哪个位置),您可以这样打印。
在调试版本中,您应始终能够po sender
。