【问题标题】:Print depth of call stack调用堆栈的打印深度
【发布时间】:2014-10-01 16:51:50
【问题描述】:

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

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

【问题讨论】:

    标签: objective-c callstack


    【解决方案1】:

    你是这样做的:

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

    但是,这似乎是一件很可疑的事情。更新您的问题,详细了解您要调试的具体内容,我们或许可以为您提供更好的帮助。

    【讨论】:

    • 似乎不起作用:错误:(29, 61) 在“NSThread *”类型的对象上找不到属性“callStackReturnAddresses”
    • [NSThread callStackReturnAddresses].count 但是完全符合我的要求。谢谢罗伯。
    猜你喜欢
    • 1970-01-01
    • 2010-11-28
    • 2010-11-23
    • 2015-09-04
    • 2018-02-11
    • 2017-09-16
    • 1970-01-01
    • 2016-04-11
    • 1970-01-01
    相关资源
    最近更新 更多