【发布时间】:2011-06-06 02:49:51
【问题描述】:
我最近遇到了一个在 Google 上没有有效解决方案的问题。我想将应用程序的 Objective-C 消息记录到控制台或文件中。我没有编写应用程序,所以我没有包含日志记录的源代码来重新编译。我有一部越狱的 iPhone,所以对如何实现这一点没有任何限制。我什至考虑通过 MobileSubstrate 扩展来做到这一点(我可以为该应用程序挂钩 objc_msgSend 以进行一些日志记录吗?),但没有太多想法。你能帮我解决这个问题吗?
【问题讨论】:
-
当您登录时,您不会获得方法名称。你只会得到指针。方法名称不存储在最终的二进制文件中。它们存储在单独的文件 (.dSYM) 中
-
方法选择器存储在二进制文件中。没有它们,Objective-c 将无法工作。 objc_msgSend 的第二个参数是选择器,可以改成字符串。
-
ughoavgfhw 是对的(你有没有尝试过从 Objective-C 源打开由 ld 生成的二进制文件?)很高兴知道,但是如何让 objc_msgSend 来做日志呢?
标签: iphone objective-c debugging