如何使用xcode计算LLVM调试器中的块?

如何使用xcode计算LLVM调试器中的块?,xcode,debugging,block,llvm,Xcode,Debugging,Block,Llvm,我有一个名为myBlock的块 我在创建myBlock之后放置了一个断点。在控制台中,我键入 p myBlock(@"5") 我得到的只是错误 error: called object type '__block_literal_generic *' is not a function or function pointer error: 1 errors parsing expression 那么,是否可以在调试器控制台的块中进行计算? 附言: 更多代码 NSArray * arr

我有一个名为
myBlock
的块

我在创建
myBlock
之后放置了一个断点。在控制台中,我键入

  p myBlock(@"5")
我得到的只是错误

 error: called object type '__block_literal_generic *' is not a function or function pointer
 error: 1 errors parsing expression
那么,是否可以在调试器控制台的块中进行计算?

附言: 更多代码

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) ;
}

似乎您必须明确地将变量强制转换为块类型:

(lldb) p ( (BOOL(^)(NSString *)) myBlock )(@"hello")
(BOOL) $3 = YES
(lldb) p ( (BOOL(^)(NSString *)) myBlock )(@"world")
(BOOL) $4 = NO