我正在使用“malloc_error _break”来打破双重免费错误。
堆栈跟踪不会将我引导至特定的行或对象(仅指向汇编代码)。
我能看到的是对象地址:
...malloc: *** 对象 0xfa1340 错误:双重释放
如何找到该地址代表的对象?(0xfa1340)
(我试图在“ObjectAlloc”工具中找到它——但找不到)。
谢谢!
我正在使用“malloc_error _break”来打破双重免费错误。
堆栈跟踪不会将我引导至特定的行或对象(仅指向汇编代码)。
我能看到的是对象地址:
...malloc: *** 对象 0xfa1340 错误:双重释放
如何找到该地址代表的对象?(0xfa1340)
(我试图在“ObjectAlloc”工具中找到它——但找不到)。
谢谢!
你想变成n个僵尸。这样做会导致已被释放的对象不是空闲的,而是将它们混入仍然存在的僵尸对象中,这样您就可以看到收到的消息。
您可以通过将环境变量 NSZombieEnabled 设置为 YES 来打开它。有关信息,请查看此技术说明。
让我知道是否有更简单的方法。
我这样做的方式是:产品->配置文件。这将打开仪器。我选择然后僵尸。然后当应用程序崩溃时,我单击统计信息,选择对象列表,然后单击十六进制地址旁边的小箭头。它将向您显示它所代表的对象。