Iphone 如何列出所有被调用的方法?

Iphone 如何列出所有被调用的方法?,iphone,ios,Iphone,Ios,有什么方法可以列出所有被调用的方法,就像一个接一个地被调用一样?例如,现在我正在做同样的事情,我把NSLog@MethodName; 我喜欢那种方法。 我想在NSLog中自动完成。有可能吗?如果你没有太多可以使用的方法 NSLog(@"%@" , NSStringFromSelector(_cmd)); 记录他们的名字。这样,您就不必每次都手动复制签名。创建一个名为方法的属性NSMutableArray*` 在你的每一种方法中 [self.calledMethods addObject:NSS

有什么方法可以列出所有被调用的方法,就像一个接一个地被调用一样?例如,现在我正在做同样的事情,我把NSLog@MethodName; 我喜欢那种方法。
我想在NSLog中自动完成。有可能吗?

如果你没有太多可以使用的方法

NSLog(@"%@" , NSStringFromSelector(_cmd));

记录他们的名字。这样,您就不必每次都手动复制签名。

创建一个名为方法的属性NSMutableArray*`

在你的每一种方法中

[self.calledMethods addObject:NSStringFromSelector_cmd]

无论何时您想要打印它,请记录它。

我想您需要:

printf("%s\n", __PRETTY_FUNCTION__ ) ;
例如,哪一个生产

-[AppDelegate应用程序:didFinishLaunchingWithOptions:]

或者,您可以使用dtrace。这个答案应该有帮助:


同时检查相同的链接问题。似乎有一个环境变量NSObjCMessageLoggingEnabled,您可以设置…

看看这里:没有帮助。应用程序停止…它工作,但请仔细阅读:它假设您混淆了断点弹出框中的条件字段和操作字段。在Action->Debugger命令字段中粘贴此代码expr-voidprintf[%s,%s]\n,char*object\u getClassName*long*$esp+4,char**long*$esp+8。我已经检查过了,它是有效的。我相信NSLog@%s,func;在这种情况下会更好,因为它也会记录类的名称。