今天出现了一个严重的问题。突然我的应用程序变成了一个不一致的状态,我检查了所有日志(希望我有几个自动保存在文件中),并发现有一个不受欢迎的方法调用。该方法只是重置我的核心数据堆栈。
我花了好几个小时试图找出这是可能的,但只发现了一些内存泄漏。内存泄漏是否可能导致错误的,随机的,不合需要的方法调用?
更新: 我的错误,看起来我的日志应该更加详细。
答案 0 :(得分:1)
不,如果我们说没有释放分配的内存。这个bug会花费你可用的内存。
是的,如果我们谈到在释放内存后使用对象引用。如果对象不再存在,通常应该以异常结束。如果是原始数据类型,您实际上可能会遇到一个可以更改关键内容的内存地址 - 只要它位于您的沙箱中。
示例:我是我的第一个应用程序,我正在从Core Data反序列化一个int数组,但我一直在编写比以前分配为int数组更多的值。结果:不同类和核心数据中的随机崩溃。
是的,有可能以这种方式破坏数据 - 只是非常不可能。