gpt4 book ai didi

iPhone 操作系统内存问题 - 如何调试?

转载 作者:行者123 更新时间:2023-12-03 20:29:53 25 4
gpt4 key购买 nike

我的 iPhone 应用程序中有一个非常奇怪的问题,我认为与内存损坏有关:

有一次,我需要对数组进行排序,我使用 -[sortArrayUsingFunction] 进行排序。 。

结果不正确,除非我用 void *test = malloc(2 * sizeof( int )) 之类的东西分配一些内存。在方法调用之前或有,例如,调用 NSLog() (从未被调用)在排序函数中。

换句话说:只有当我稍微增加调用排序函数之前使用的内存时,排序才会起作用。我认为这是因为在某些时候,内存会被损坏。

如何调试这样的东西?

最佳答案

听起来您的某些代码正在使用已经发布的对象。 Apple 伟大的 Mac OS X Debugging Magic 提供了调试此类错误的大量帮助。技术说明,尤其是 foundation部分。

对于您的情况,我会禁用自动释放池(设置环境变量NSEnableAutoreleasePool=NO)或使用僵尸功能(NSZombieEnabled=YES)来查找您所在的位置向已释放的对象发送消息。

关于iPhone 操作系统内存问题 - 如何调试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1696136/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com