知道怎么查看后,先看看有什么实际应用,拿NSNotificationCenter来做实践吧。
首先在某个容易进入的地方加断点,并停在那,例如main函数。在gdb或lldb输入命令,手工添加断点。如下图:
输入的命令如下:
b -[NSNotificationCenter addObserver:selector:name:object:] b -[NSNotificationCenter addObserverForName:object:queue:usingBlock:]然后continue运行。很快,NSNotificationCenter的断点就会触发,是由系统的类调用的。因为是命令行添加的断点,所以不会被xcode记录,下次启动也不会再进入,此时我们需要在xcode里再加断点,如下图,在函数第一行的行号栏单击,标上蓝色断点标记。
然后,在断点上右键单击,选择“Edit Breakpoint...“
按照下图设置好:
点击”Done“后完成(另一个函数的照样做就行)。 最后,把Main函数上的断点去掉,然后重启程序。 这时就会看见命令行狂打印log了。
这log有什么用?呵呵,自己挖掘吧,至少你已经发现好多个non-public API了。
转载请注明出处:http://blog.csdn.net/hursing
|
(一)查看反汇编 |
(二)看懂反汇编 |
(三)查看Objective-C函数与参数 |
(四)自动断点应用之NSNotificationCenter |
(五)调试objc_msgSend函数 |
(六)函数出入口处的处理与局部变量 |
(七)Debug与Release的区别 |
(八)反汇编自己的代码来掌握规则 |