objective-c - 打印调用堆栈的深度

标签 objective-c callstack

我想记录调试器中调用堆栈的深度。例如,如果我调用 7 个堆栈帧深的方法,我想打印“7”。

有没有办法用像 Objective-C 这样的语言来做到这一点?

最佳答案

具体操作方法如下:

NSLog(@"%d stack frames", (int)[NSThread  callStackReturnAddresses].count);

但是,这似乎是一件可疑的事情。请更新您的问题,提供有关您要调试的具体内容的更多详细信息,我们也许可以为您提供更好的帮助。

关于objective-c - 打印调用堆栈的深度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26146453/

相关文章:

objective-c - 复杂的 NSPredicate 遍历多个实体和关系类型

ios - UITableView Cell visibleCells数组出错?

c++ - 为什么堆栈跟踪会跳过一个显然必须调用才能到达以下函数的函数?

ios - 后台 iOS 视频合并

iphone - UILabel lineBreakMode剪辑不剪辑文本

objective-c - 即使导入了 <CoreLocation/CoreLocation.h> 也找不到 CLLocation

C++ 堆栈跟踪问题

python - python中的调用堆栈是否分别在多线程和多处理中的线程或进程之间共享?

c - Linux进程堆栈被局部变量溢出(堆栈保护)

windows - WinDbg 没有显示整个调用堆栈?