2014-10-01 64 views
1

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

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

回答

2

这里是你如何做到这一点:

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

然而,这似乎是一个可疑的事情要做。更新您的问题,提供更多关于您正在尝试调试的详细信息,我们可能会为您提供更好的帮助。

+0

似乎没有工作:错误:(29,61)属性'callStackReturnAddresses'找不到'NSThread *'类型的对象 – 2014-10-01 17:24:07

+0

[NSThread callStackReturnAddresses] .count然而,正是我正在寻找。感谢Rob。 – 2014-10-01 17:26:17

+0

我纠正了我的答案。 – 2014-10-01 18:05:44