今天项目中遇到一个问题, 某VC在disappear后键盘监听失效,而其父类并没有remove相关通知,由于父类做了很多事情,很难肉眼排查,此时想起了符号断点,
symbolic breakpoint.jpg
没想到这个remove行为非常频繁,几乎进出vc都会触发,且往往断在系统库中,毫无头绪。
如果能移除对应通知时再断点,就更精准了,网查一波condition的写法,最终找到正确写法,
condition.jpg
那到底该用哪个$arg呢?po出来看看咯。
arg1.png
好家伙,全部的通知都打出来了。
arg2.png
不明觉厉
arg3.png
看来是observer
arg4.png
bingo!
arg5.png
不用说这是下个参数object了
福利拓展
https://www.natashatherobot.com/xcode-debugging-trick/
遇到没有内容信息的exception,po $arg1
https://www.leewong.cn/2020/07/25/howtousexcodebreakpoint/
这篇文章后半部分教了怎么断点调试约束冲突
网友评论