0

有没有办法在objective-c中在运行时找到僵尸?
我正在寻找一种方法来防止对象调用僵尸上的方法,有没有办法在不使应用程序崩溃的情况下检测到一个方法?
我确实知道 ARC iOS5 下的弱引用和常识编程实践。
我在想一种方法可能是询问对象的大小(我知道可能“内部”只有引用)但是如果对象仍然存在,它应该给出一个值,如果它可能不仅仅是单个指针大小。
使用malloc_size(pointerToObject)
它可以工作吗?

更新:我知道如何运行 Instruments for Zombies detection

4

3 回答 3

2

我不认为安德里亚在问如何运行仪器来检测僵尸,我认为她想防止在运行时调用一个释放的实例。我不确定在这种情况下会返回什么 malloc 大小。我认为你想出的任何事情都没有他们对 NSZombies 所做的事情(即永远不会真正免费的实例)将是花哨的,并且只能在部分时间工作。我认为你最好的方法是无聊的旧式勤奋编程和使用工具进行分析以防止进行这些调用,而不是试图在运行时捕获错误。

于 2012-02-21T15:00:33.117 回答
0

尝试使用 Instruments 运行应用程序,然后选择“Zombies”模板。

于 2012-02-21T14:47:18.263 回答
0

在方案菜单上(左上角,运行/停止旁边)。选择“编辑方案...”。将出现一个工作表。在那里选择运行/调试方案。选择中心窗格上的“诊断”选项卡。检查僵尸。

于 2012-02-21T14:53:32.203 回答