我对登录框架或在封面下不感兴趣,但只有在每个方法进入和退出时才在我的源代码中。我希望它提供类名和方法名称并将其记录到文件中,或者至少让它在屏幕上显示。
我的查询是,如果可以使用现有的Xcode / Debugger / Instruments工具,我是否可以在每个方法入口和出口处以除了NSLog语句之外的简单方式实现它,或者是否有提供此功能的商业工具?
我在这里谈论源方法......不是执行进程或线程。感谢。
答案 0 :(得分:9)
Dave Dribin在他的文章Tracing Objective-C messages中正是如此。
你所追求的部分可能就是这样:
如果将
NSObjCMessageLoggingEnabled
环境变量设置为YES
,则Objective-C运行时会将所有已分派的Objective-C消息记录到名为/tmp/msgSends-<pid>.的文件中。 p>
答案 1 :(得分:2)
Xtrace(https://github.com/johnno1962/Xtrace)具有许多功能,可以很好地跟踪Objective-C。一个人需要源代码访问他们的项目,就像你看起来一样,并且可以在进入/退出时发出消息,就像你想要的那样。
答案 2 :(得分:0)
在Mac(arm / x86_64)上可以与iOS simulator
一起使用的替代方法
Symbolic Breakpoint
objc_msgSend
Debugger Command
命令:
p (void)printf("[%s, %s]\n", (char*)object_getClassName($arg1), $arg2)
* p
是expr --
检查:Automatically continue after evaluating actions