我正在使用'malloc_error _break'打破双重免费错误。
堆栈跟踪不会将我引导到特定的行或对象(仅限于汇编代码)。
我能看到的是对象地址:
... malloc:***对象0xfa1340的错误:双重免费
如何找到此地址代表的对象? (0xfa1340)
(我试图在“ObjectAlloc”工具中找到它 - 但不能)。
谢谢!
答案 0 :(得分:1)
你想变成n僵尸。这样做会导致被解除分离的对象不是自由的,而是它们会被调到仍然存在的僵尸对象,这样你就可以看到消息的接收。
您可以通过将环境变量NSZombieEnabled设置为YES来关闭它。有关信息结帐this技术说明。
答案 1 :(得分:0)
让我知道是否有更简单的方法。
我这样做的方式是:Product-> Profile。这将打开仪器。然后我挑选僵尸。然后,当应用程序崩溃时,我点击统计信息,选择对象列表,然后单击十六进制地址旁边的小箭头。它会显示它代表的对象。