0

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

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

我能看到的是对象地址:

...malloc: *** 对象 0xfa1340 错误:双重释放

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

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

谢谢!

4

2 回答 2

1

你想变成n个僵尸。这样做会导致已被释放的对象不是空闲的,而是将它们混入仍然存在的僵尸对象中,这样您就可以看到收到的消息。

您可以通过将环境变量 NSZombieEnabled 设置为 YES 来打开它。有关信息,请查看技术说明。

于 2009-10-22T18:01:24.180 回答
0

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

我这样做的方式是:产品->配置文件。这将打开仪器。我选择然后僵尸。然后当应用程序崩溃时,我单击统计信息,选择对象列表,然后单击十六进制地址旁边的小箭头。它将向您显示它所代表的对象。

于 2011-07-11T10:04:36.837 回答