我有一个从 SOAP Web 服务获取信息的应用程序,我想在 UITableView
中显示结果。
我有这个应用程序的早期版本,我正在创建一个新版本,以基本上清理并摆脱一堆已弃用且不再使用的遗留代码。
在以前的版本中,这运行良好。在新版本中,没有那么多。
基本上,当前方案返回 3 个字符串,我试图将它们用作 UITableView
中数据的基础。
我正在努力解决这个问题,因为很难找到 EXC_BAD_ACCESS
错误!
(顺便说一句,如果有人有办法让调试体验更像 Visual Studio,我很想听听!不知道是哪一行导致了错误,而且无法在崩溃时查看我的局部变量,看看是什么。我已经在异常断点中添加了,但这似乎没有多大作用。)
无论如何,导致错误出现的行是:
return [[self Libraries] count];
它出现在 tableView:numberOfRowsInSection:
。
我得到的错误消息是引用应该存储在 NSMutableArray
[self Libraries]
中的字符串。
这是怎么回事?
我正在使用 ARC,所以不应该正确处理我的所有内存管理吗?
我的代码中没有任何手动发布声明!
请帮我解决这个问题!
最佳答案
设置 NSZombieEnabled , MallocStackLogging , 和 guard malloc在调试器中。然后,当您的应用程序崩溃时,在 gdb 控制台中输入以下内容:
(gdb) info malloc-history 0x543216
将 0x543216
替换为导致崩溃的对象的地址,您将获得更有用的堆栈跟踪,它应该可以帮助您查明代码中导致问题的确切行.
关于objective-c - EXC_BAD_ACCESS 消息发送到已释放的实例,但我使用的是 ARC?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7940198/