objective-c – Cocoa:打破每个方法调用?

objective-c – Cocoa:打破每个方法调用?,第1张

概述通常在调试时,重要的是要知道以什么顺序调用类的哪些方法.天真的解决方案(我到目前为止一直在使用)是在每个方法的顶部d出一个NSLog.但这是耗时,重复,丑陋的,如果我忘记在调试后删除日志,我的代码看起来很少. 更简洁的解决方案是在我的每个方法上设置断点,配置它们的 *** 作以发出调试器命令:po NSStringFromSelector(_cmd)并将它们设置为自动继续.这更漂亮,使我不必记住删除所有这 通常在调试时,重要的是要知道以什么顺序调用类的哪些方法.天真的解决方案(我到目前为止一直在使用)是在每个方法的顶部d出一个NSLog.但这是耗时,重复,丑陋的,如果我忘记在调试后删除日志,我的代码看起来很少.

更简洁的解决方案是在我的每个方法上设置断点,配置它们的 *** 作以发出调试器命令:po NsstringFromSelector(_cmd)并将它们设置为自动继续.这更漂亮,使我不必记住删除所有这些NSLog,但重复性或耗时不少.

我真正想要的是一种设置符号断点的方法,该断点在每个方法(类的一个模块?)上都会中断.任何调试/运行时主人都有一个解决方案或提示从哪里开始寻找?

解决方法 所有Objective-C方法调用都按照 Objective-C Runtime Reference的“发送消息”部分进行C运行时调用objc_msgSend,objc_msgSend_stret,objc_msgSendSuper和objc_msgSendSuper_stret之一.因此,您应该能够捕获这些调用,并给它们记录相关部分的 *** 作前两个参数(它是正常发送的目标和选择器,一个描述超类的结构,包含超级调用的目标和类类型). 总结

以上是内存溢出为你收集整理的objective-c – Cocoa:打破每个方法调用?全部内容,希望文章能够帮你解决objective-c – Cocoa:打破每个方法调用?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1013788.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存