2012-05-02 29 views
0

我正在研究从以前的开发人员那里恢复的iPad应用程序。有时候,我得到以下信息:LLDB用它的地址识别一个对象

Received memory warning. 
applicationDidReceiveMemoryWarning: 
[ResultsListViewController respondsToSelector:]: message sent to deallocated instance 0x2b1c70 

和应用程序停止在

int main(int argc, char *argv[]) 
{ 
    @autoreleasepool { 
     return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 
    } 
} 

我了解,应用程序接收内存警告后,该应用程序试图从一个类执行一个功能已被释放。正如我所说,问题在于我没有开发应用程序,所以即使启用NSZombies,我也无法找到问题发生的位置。

有没有一种方法来检索发生问题的地方,使用LLDB(或任何其他方式)与对象的内存地址(在我的情况下0x2b1c70)?

+1

* Object *被释放。 – fzwo

+0

我知道,我的问题是如何在发生崩溃时找到对象的使用位置,以纠正此内存管理问题 – Niko

回答

0

使用符号断点,本教程介绍了如何使用它们:http://iosdevelopertips.com/debugging/tracking-down-exception-errors.html

希望这有助于!

Sam

+0

Hi Sam,感谢您的反馈。我尝试过,但没有奏效。可能是我没有正确使用它。我尝试在符号断点中将“[ResultsListViewController respondsToSelector:]”作为符号。不知道这是正确的方式... – Niko

+0

我认为你应该使用:EXC_BAD_ACCESS。 – shoughton123

+1

如果这是行不通的阅读:[link](http://MobileDeveloperTips.com/debugging/updated-tracking-down-exc_bad_access-errors-with-nszombieenabled-in-xcode-4.html)阅读第一个视图关于该文章的评论(某人遇到同样的问题) – shoughton123