从iphone上的内存地址接收对象

时间:2009-10-22 08:19:08

标签: iphone object memory memory-address

我正在使用'malloc_error _break'打破双重免费错误。

堆栈跟踪不会将我引导到特定的行或对象(仅限于汇编代码)。

我能看到的是对象地址:

... malloc:***对象0xfa1340的错误:双重免费

如何找到此地址代表的对象? (0xfa1340)

(我试图在“ObjectAlloc”工具中找到它 - 但不能)。

谢谢!

2 个答案:

答案 0 :(得分:1)

你想变成n僵尸。这样做会导致被解除分离的对象不是自由的,而是它们会被调到仍然存在的僵尸对象,这样你就可以看到消息的接收。

您可以通过将环境变量NSZombieEnabled设置为YES来关闭它。有关信息结帐this技术说明。

答案 1 :(得分:0)

让我知道是否有更简单的方法。

我这样做的方式是:Product-> Profile。这将打开仪器。然后我挑选僵尸。然后,当应用程序崩溃时,我点击统​​计信息,选择对象列表,然后单击十六进制地址旁边的小箭头。它会显示它代表的对象。