问题标签 [nszombie]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
10860 浏览

xcode - ios僵尸检测

我的代码中有(在我看来)一个非常困难的问题。它在代码中的不同位置随机崩溃。该项目是一个ARC项目。

因此,我的程序偶尔会因以下消息而崩溃:

我已经设置了一个断点,malloc_error_break但我没有从中得到任何信息。当代码崩溃时,XCode 会向我显示它在代码中发生的位置。但正如我已经说过的那样,崩溃是随机的,并不总是发生。但似乎崩溃集中在代码中的特定行。

现在,我想使用 xcode 附带的工具对其进行调试。经过一番谷歌搜索后,我在 stackoverflow 上找到了以下内容:如何在 Xcode 4 中设置 NSZombieEnabled?Xcode malloc 错误

因此,第一个链接描述了如何通过单击 xcode 中的运行按钮并选择“配置文件”来从 xcode 本身启动僵尸检测。我遇到的问题是,在我的 xcode 版本(4.2)中为跟踪文档选择模板时找不到“僵尸”。但是如果我在 xcode 之外启动 Instruments(例如从 finder),我可以选择僵尸。

好的,这就是我所做的:

1) 从 finder 启动 Instruments 并选择 Profile "Zombies"。

2)在 iphone 模拟器中从 xcode 启动 iphone 应用程序(正常运行(不是配置文件或调试))。

3)在仪器“选择目标”->“附加到进程”->“iPhone模拟器(57529)”中。

4)仪器开始记录一些东西(我不知道它做了什么)。

5)开始玩这个应用程序,直到它崩溃。

最终应用程序崩溃,这是应用程序崩溃后仪器的屏幕截图: 在此处输入图像描述

我的问题:

1) Zombies 是否足以解决我的问题,还是我应该使用其他分析工具?

2)什么告诉我崩溃后它的输出中的仪器?

0 投票
1 回答
1074 浏览

objective-c - [CFDictionary 发布]:消息发送到释放的实例,怎么了?

我不断收到此错误,表明是僵尸。我已将其范围缩小到这两种方法,但我无法终生找出问题所在。

有任何想法吗?

和这个..

0 投票
1 回答
109 浏览

iphone - didSelectRowAtIndexPath 中的 NSZombie

我有一个有趣的问题,我似乎无法找出它发生的原因,可能是我忽略的一些小问题。

我有一个 UITableView 并且在我的 didselectrowatindex 路径中导航到一个新视图,然后导航到下一个视图并弹出两个视图以返回第一个视图,然后应用程序因 EXC_BAD_ACCESS 而崩溃

所以我使用了instruments和NSZombie,在didselectrowatindexpath中找到了一个malloc,但我不知道为什么

这是我的代码:

编辑:

我忘了提到的是,在某些情况下,我将同一类的另一个推送到导航控制器上,但只有在转到 WorkflowViewController 然后到下一个视图控制器然后返回两次时才会引发异常

0 投票
2 回答
9635 浏览

iphone - _NSZombie__GEOtileKeyWrapper 类在两者中都实现了??和 ??。将使用两者之一。哪个是未定义的

我在调试我的应用程序时收到此消息:

NSZombie _GEOtileKeyWrapper类在两者中都实现了??和 ??。将使用两者之一。哪一个是未定义的。

你知道这是什么吗?以及如何解决?

0 投票
1 回答
829 浏览

objective-c - 诊断和仪器都缺少僵尸选项

运行 Xcode 4.0.2,在其他 SO 帖子建议找到它的两个地方都缺少 Zombie 选项。

产品 > 运行... 看起来像这样: 在此处输入图像描述

产品 > 简介如下所示: 在此处输入图像描述 在此处输入图像描述

奇怪的是,我之前在这个版本的 Xcode 中使用过 Zombies。我使用 Allocations 工具做了一个配置文件,单击左上角的 Allocations 信息按钮(“i”),然后检查了出现在那里的“Enable Zombie...”。但是当我现在尝试时,我得到了这个:

在此处输入图像描述

没有更多的僵尸。有没有可能我以某种方式删除了它们?

0 投票
1 回答
1790 浏览

ios - UITableView ARC 问题

现在我正在制作一个使用 UITableView 的应用程序,但我已经为这个问题苦苦挣扎了 3 天,但我无法弄清楚。

在 .h 文件中,我订阅了两种 tableview 方法。像这样:

我的实现可以在这里找到:

.m 文件

每当应用程序加载时,它总是崩溃。所以我启用了 NSZombies 并收到了消息:

所以我在网上查了一下,发现几乎在所有情况下,都会在 tableview 之前发布时发生这种情况numberOfSectionsInTableView。所有的网站都说我应该保留 tableview,但我正在使用 ARC,我不能这样做。这种崩溃只是偶尔发生。然后当它没有时,当我尝试触摸 tableview 或尝试滚动它时,它崩溃了。我到处找,我根本找不到关于这个问题的任何东西,而且我当然无法弄清楚 tableview 是在哪里发布的。任何帮助将不胜感激。

0 投票
1 回答
626 浏览

objective-c - 对于混合 ARC 和 NON-ARC 类的项目,僵尸对象的奇怪行为:EXC_BAD_ACCESS

我的应用程序有一个大问题,我想知道如何解决它。我在 SO 中进行了很多搜索,但找不到有效的解决方案。这是我正在处理的场景。

我有一个非 ARC 应用程序,我在其中使用了一堆 ARC 类。这些类属于GMGridView。这些类已通过-fobjc-arc指令添加到项目中。

这是我正在使用的代码(为了简单起见,我只添加了关键部分)。

内存管理部分

ViewDidLoad 部分

数据源部分

当我使用 Zombie Objects 时,该应用程序运行良好。没有错误。但是当我禁用 Zombie Objects 时,应用程序会在方法中崩溃EXC_BAD_ACCESS 。main这对我来说很奇怪,因为如果启用了 Zombies,我会看到发生在main.

我不太确定的是autorelease代码中的调用,但我认为如果我不将对象放入自动释放池中,它们会泄漏。

调查了一下,我发现如果我[gmGridView release]dealloc方法中发表评论,应用程序就会停止崩溃。那么这是什么意思?如果我不打电话release,会gmGridView泄漏吗?

你有什么建议吗?先感谢您。

编辑

- (GMGridViewCell *)GMGridView:(GMGridView *)gridView cellForItemAtIndex:(NSInteger)index我在方法中添加了一些代码。第一次忘记加了

(of type )的dealloc方法似乎是问题的根源。这里是代码。InternalViewUIView

评论[detView release],崩溃消失了。

0 投票
2 回答
407 浏览

objective-c - Xcode 4.2 with Storyboard:程序接收信号:“EXC_BAD_ACCESS”

0 投票
3 回答
4333 浏览

objective-c - 块和异步回调,dealloc 对象 - 需要 nil 块

这里有一个类似的问题,它没有准确解释我想要什么:Objective C Blocks as Async-callbacks & BAD ACCESS

我有一个视图控制器,它使用异步回调调用服务。回调是使用一个块完成的,该块引用视图控制器上的变量来填充它们。

它看起来像这样:

但是,如果我解除了视图控制器的分配,则回调会严重访问“我”。

使“我”为空的最简单方法是什么?如果我把它作为一个 iVar,它会带回循环引用......我想?

我想我错过了一些明显的东西......

谢谢

0 投票
1 回答
90 浏览

ios5 - MFMessageController 的 EXC_BAD_ACCESS

当我按下消息编写器表中的发送按钮时出现此错误,我的代码是这样的:

我已经在 .h 文件中初始化了选择器。我怎么离开这里?我尝试使用 NSZombies,但由于问题出现在消息传递部分,我不能在那里使用它们。