【问题标题】:IPhone tracking memory overwritesiPhone跟踪内存覆盖
【发布时间】:2011-06-08 19:02:49
【问题描述】:

我有一个问题,我在我的一个类中的一个对象上调用一个函数,但当时我称它持有对不同对象类型的引用,并且每次都是不同的类型,所以我收到消息@987654321 @ 并且类型始终是 UI 类型类。

所以这让我相信某些东西正在某个地方覆盖记忆,我无法追踪它!只有当我从 UITableView 中删除一行时才会发生这种情况,并认为这可能是在我准备好之前删除了一些东西,但在我调用这个函数之前似乎没有任何东西被释放!

我是否可以跟踪内存地址的值何时发生变化,或者跟踪 XCode 中我的对象的引用发生变化的最佳方法是什么??

【问题讨论】:

    标签: objective-c xcode debugging memory-management


    【解决方案1】:

    这是一个内存管理问题。当您仍然持有对旧对象的引用时,一个对象被释放,另一个对象被放置在它的位置。你可以run the app with Zombies 看看它是什么对象,但它可能是你的表格视图中显示的任何对象。

    【讨论】:

    • 嗨 Chuck,非常感谢您的建议,这是朝着正确方向迈出的一步!僵尸的东西向我展示了一个不应该发生的发布,但是在发布发生的代码上放置一个断点永远不会被击中,但错误仍然会发生!所以我不知道僵尸的东西是不是错了,或者如何调用一个函数但错过了断点?无论哪种方式,如果可能的话,跟踪内存地址仍然会有很大帮助?
    猜你喜欢
    • 1970-01-01
    • 2018-08-22
    • 1970-01-01
    • 2018-06-16
    • 1970-01-01
    • 1970-01-01
    • 2019-05-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多