gpt4 book ai didi

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

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:09:04 25 4
gpt4 key购买 nike

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

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

例如,假设宏是 _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(...); 的行上放置一个断点);

原因是我有一个被多次调用的方法,我需要能够设置比我上面描述的更复杂的条件集来设置陷阱以确定哪个方法正在调用有问题的方法,并且什么时候。

最佳答案

在调用站点设置断点,并在断点上设置条件(例如 self == whatever)

关于iphone - XCode/Objective C 基于调用者的条件断点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7775749/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com