假设我有一个基于Cocoa的Mac或iOS应用程序。我想在我的应用程序源代码或应用程序二进制文件上运行静态分析器,以检索其中调用的所有Objective-C方法列表。是否有这样的工具?
几点说明:
我正在寻找一种静态解决方案。我不需要动态解决方案。
可以针对二进制或源代码运行的东西是可接受的。
理想情况下,输出将只是一个巨大的去重的Objective-C方法列表,例如: ... -[MyClass foo] ... +[NSMutableString stringWithCapacity:] ... -[NSString length] ...
(如果没有去重,那也没关系)
如果存在其他类型的符号(C函数、静态变量等),那也没问题。
我熟悉class-dump,但据我所知,它会在你的二进制文件中转储声明的类,而不是调用的方法。这不是我要找的。如果我错了,而且你可以用class-dump做到这一点,请纠正我。
我不确定这是否可行。如果不行,那也是一个好答案。 :)
几点说明:
我正在寻找一种静态解决方案。我不需要动态解决方案。
可以针对二进制或源代码运行的东西是可接受的。
理想情况下,输出将只是一个巨大的去重的Objective-C方法列表,例如: ... -[MyClass foo] ... +[NSMutableString stringWithCapacity:] ... -[NSString length] ...
(如果没有去重,那也没关系)
如果存在其他类型的符号(C函数、静态变量等),那也没问题。
我熟悉class-dump,但据我所知,它会在你的二进制文件中转储声明的类,而不是调用的方法。这不是我要找的。如果我错了,而且你可以用class-dump做到这一点,请纠正我。
我不确定这是否可行。如果不行,那也是一个好答案。 :)