我在 iOS 模拟器中的 lldb 调试器中,我有一个块的地址。我想尝试执行它。我尝试了想到的第一件事(见下文),但没有奏效。有没有办法做到这一点?
(lldb) po 0x2c7140
(int) $2 = 2912576 <__NSGlobalBlock__: 0x2c7140>
(lldb) po 0x2c7140(NO, @"Test")
error: called object type 'int' is not a function or function pointer
我也试过call但显然这不是 llvm 中的命令?它在 gdb 中可用。
(lldb) call (void)0x2c7140(NO, @"Test")
error: 'call' is not a valid command.
我刚刚意识到第一次尝试无论如何都会失败,因为 po 不会使用 void 返回值,但问题仍然存在......