基于调用者的XCode / Objective C条件断点

时间:2011-10-15 04:29:03

标签: iphone objective-c ios nslog

好的,我需要设置一个断点,当某个特定对象和/或选择器调用(或不调用)方法时,该断点才会被“命中”

我能想到的最简单的方法是,如果有一些编译器宏(如_cmd)展开堆栈并返回当前方法的直接调用者的id和selector。

例如假设majical宏是_cmd_caller_id& _cmd_caller_sel) -

if ( (_cmd_caller_id == self) && (_cmd_caller_sel != @selector(some_method:signature:) ) {
   NSLog(@"called by %@ - hitting breakpoint",NSStringFromSelector(_cmd_caller_sel));
}

(你可以在包含NSLog(...);)的行上设置一个断点;

原因是我有一个多次调用的方法,我需要能够设置一个比我上面描述的更复杂的条件集来设置陷阱来确定调用违规方法的方法和当

1 个答案:

答案 0 :(得分:3)

在调用站点设置断点,断点有条件(例如self == what)