Objective c EXC#U BAD#U访问消息已发送到解除分配的实例,但I';我在用弧吗?

Objective c EXC#U BAD#U访问消息已发送到解除分配的实例,但I';我在用弧吗?,objective-c,memory,exc-bad-access,automatic-ref-counting,Objective C,Memory,Exc Bad Access,Automatic Ref Counting,我有一个从SOAP web服务获取信息的应用程序,我想在UITableView中显示结果 我有一个以前版本的这个应用程序,我正在创建一个新的版本,基本上清理东西,摆脱了一堆旧代码,这些代码已经弃用,不再使用 在上一个版本中,这非常有效。在新版本中,没有那么多 基本上,当前场景返回3个字符串,我试图将它们用作我的UITableView中数据的基础 我正在努力解决这个问题,因为很难找到EXC\u BAD\u ACCESS错误 (顺便说一句,如果有人有办法让调试体验更像Visual Studio,我很

我有一个从SOAP web服务获取信息的应用程序,我想在
UITableView
中显示结果

我有一个以前版本的这个应用程序,我正在创建一个新的版本,基本上清理东西,摆脱了一堆旧代码,这些代码已经弃用,不再使用

在上一个版本中,这非常有效。在新版本中,没有那么多

基本上,当前场景返回3个字符串,我试图将它们用作我的
UITableView
中数据的基础

我正在努力解决这个问题,因为很难找到
EXC\u BAD\u ACCESS
错误

(顺便说一句,如果有人有办法让调试体验更像Visual Studio,我很想听听!不知道是哪一行导致了错误,也无法在崩溃时查看我的局部变量以了解是什么。我已经添加了异常断点,但确实如此似乎没什么作用。)

无论如何,导致错误的行似乎是:

return [[self Libraries] count];
它出现在
表格视图:numberOfRowsInSection:

我收到的错误消息似乎引用了应存储在
NSMutableArray
[self Libraries]
中的字符串

这是怎么回事?
我使用的是ARC,所以我的所有内存管理都应该正确处理吗?
我的代码中没有任何手动发布语句

请帮助我修复此问题!

设置,并在调试器中。然后,当您的应用程序崩溃时,在gdb控制台中键入以下内容:

(gdb) info malloc-history 0x543216
0x543216
替换为导致崩溃的对象的地址,您将获得一个更有用的堆栈跟踪,它将帮助您确定代码中导致问题的确切行


ARC依赖于苹果标准/推荐的命名惯例。请检查您是否违反了其中任何一项


首先,如果“
库”
”有一个实例存在命名问题。

好的,所以我觉得有点傻,但我有两台生产机器。在其中一台机器上,我在最终的生产副本旁边安装了一份Xcode 4.2 beta。我忘记卸载beta副本,正在使用它运行代码。我一清除该副本并针对最终的生产副本运行代码,我就立即运行了我的代码,发布了Xcode 4.2,所有工作再次正常

正如我在上面向Jonathan Grynspan提到的,我确实了解Obj-C内存管理。出于某种原因,我得到了一个保留/发布/发布(由ARC执行),该缺陷在最终版本中得到了修复


谢谢你帮我找到这个问题!至少我得到了问题存在的确切答案!

ARC只简化了内存管理。它并没有完全接管你的工作。天哪,这是一个毫无帮助的评论。这怎么能让我解决我的问题呢?基本上,我的问题是:我怎么能过度发布一些东西呢ng当我的代码中绝对没有
release
语句时?谢谢!@Jonathan Grynspan:真的吗?那不是真的!!!例如,使用ARC、retain、release、autorelease甚至retainCount都是编译器禁止的!我了解内存管理。我知道这些语句应该放在哪里。正如你在我下面的帖子中看到的,结果是这样的我的代码很好,这是一个Xcode 4.2测试版错误。我认为你对ARC的理解不是很好。@JonathanGrynspan那么你为什么会说“它并没有完全为你所用”?事实上,这正是它所做的。它明确地做到了这一点,旨在使内存管理自动化。为此,它明确禁止手动内存管理。这与传统内存管理相比究竟还有什么区别?@JonathanGrynspan回答说“我不打算谈论这个”看起来你没有一个真正的答案。我的问题仍然是:使用ARC时,还剩下什么传统的手动内存管理?回答:没有!它专门从你身上拿走了这一点。这有助于我准确追踪导致崩溃的行/变量,所以谢谢!@mbm30075-Np,很高兴我能提供帮助!有人知道h吗如何处理LLDB?@StianHøiland您是否为LLDB找到了类似的选项?链接到LLDB版本:如上所述,我没有看到此命名约定规则。您能在找到它的地方发布链接吗?谢谢!请参阅: