ZLJBlockPrinter打印Block的签名 和 调用栈函数的虚拟内存地址(ida里面可直接跳转)

参考了论坛大神们的帖子,造了个轮子:

一行代码获取Block的签名和虚拟内存地址:

  NSString *blockDescription = [ZLJBlockPrinter printBlock:_shareBlock];
  NSLog(@"%@",blockDescription);

效果:

打印调用栈虚拟地址:
NSString *stack = [ZLJPrinter callStackSymbolsLocateInImages:@[@“execName”]];//这里写需要打印的镜像名
NSLog(@"%@",stack);

示例:
7   ...
8   CoreFoundation                      0x0000000181528434 32058D87-5C5D-3117-BF4C-D547EC3AA6FF + 525364  symFileAddr 0x1803c8434
9   ...

复制0x1803c8434,可直接在ida里跳转

代码GitHub点这里,喜欢的话给我点个小星星哦
参考文章:http://iosre.com/t/block/6779

6 个赞

这是坠吼的