现在的位置: 首页 > 综合 > 正文

xcode反汇编调试iOS模拟器程序(四)自动断点应用之NSNotificationCenter

2013年04月05日 ⁄ 综合 ⁄ 共 709字 ⁄ 字号 评论关闭

知道怎么查看后,先看看有什么实际应用,拿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

xcode反汇编调试iOS模拟器程序
(一)查看反汇编
(二)看懂反汇编
(三)查看Objective-C函数与参数
(四)自动断点应用之NSNotificationCenter
(五)调试objc_msgSend函数
(六)函数出入口处的处理与局部变量
(七)Debug与Release的区别

(八)反汇编自己的代码来掌握规则

抱歉!评论已关闭.