仪器(OSX)中未记录的Objective-C方法的参数类型

时间:2010-03-26 13:23:36

标签: objective-c macos

有没有办法确定Instruments追踪的Objective-C方法的参数类型? 我创建了一个自定义DTrace工具,它只列出了类中的所有Objective-C调用。我试图调用其中一个方法,但只列出方法名称。

有没有办法确定参数类型?或者作为一种替代方法,一种在不知道参数类型的情况下调整方法的方法吗?

2 个答案:

答案 0 :(得分:2)

如果使用classdump,则可以在方法定义中查看C数据类型。这应该足以进行调配。一旦您调试了例程,就可以使用NSLog打印目标C类型的描述。

http://www.codethecode.com/projects/class-dump/

答案 1 :(得分:0)

使用调试器并在您感兴趣的方法上设置断点。如果参数是对象类型,则可以使用print-object找出它们是什么类。在x86上,参数通常在堆栈上传递。在PPC上,您将在寄存器r3-r11中找到参数。