我有一个名为myBlock
的块。
我在myBlock
创建后设置了一个断点。在控制台中,我输入
p myBlock(@"5")
我得到的只是错误
error: called object type '__block_literal_generic *' is not a function or function pointer
error: 1 errors parsing expression
那么,可以在调试器控制台的块中进行评估吗?
PS: 更多代码
NSArray * array = @[@"a", @"b"] ;
BOOL (^myBlock)(NSString *) = ^BOOL(NSString * string)
{
return [string isEqualToString:@"hello"] ;
} ;
// The breakpoint is here
for (NSString * str in array)
{
myBlock(str) ;
}
答案 0 :(得分:2)
您似乎必须将变量显式转换为块类型:
(lldb) p ( (BOOL(^)(NSString *)) myBlock )(@"hello")
(BOOL) $3 = YES
(lldb) p ( (BOOL(^)(NSString *)) myBlock )(@"world")
(BOOL) $4 = NO