问题标签 [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.
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)什么告诉我崩溃后它的输出中的仪器?
objective-c - [CFDictionary 发布]:消息发送到释放的实例,怎么了?
我不断收到此错误,表明是僵尸。我已将其范围缩小到这两种方法,但我无法终生找出问题所在。
有任何想法吗?
和这个..
iphone - didSelectRowAtIndexPath 中的 NSZombie
我有一个有趣的问题,我似乎无法找出它发生的原因,可能是我忽略的一些小问题。
我有一个 UITableView 并且在我的 didselectrowatindex 路径中导航到一个新视图,然后导航到下一个视图并弹出两个视图以返回第一个视图,然后应用程序因 EXC_BAD_ACCESS 而崩溃
所以我使用了instruments和NSZombie,在didselectrowatindexpath中找到了一个malloc,但我不知道为什么
这是我的代码:
编辑:
我忘了提到的是,在某些情况下,我将同一类的另一个推送到导航控制器上,但只有在转到 WorkflowViewController 然后到下一个视图控制器然后返回两次时才会引发异常
iphone - _NSZombie__GEOtileKeyWrapper 类在两者中都实现了??和 ??。将使用两者之一。哪个是未定义的
我在调试我的应用程序时收到此消息:
NSZombie _GEOtileKeyWrapper类在两者中都实现了??和 ??。将使用两者之一。哪一个是未定义的。
你知道这是什么吗?以及如何解决?
objective-c - 诊断和仪器都缺少僵尸选项
运行 Xcode 4.0.2,在其他 SO 帖子建议找到它的两个地方都缺少 Zombie 选项。
产品 > 运行... 看起来像这样:
产品 > 简介如下所示:
奇怪的是,我之前在这个版本的 Xcode 中使用过 Zombies。我使用 Allocations 工具做了一个配置文件,单击左上角的 Allocations 信息按钮(“i”),然后检查了出现在那里的“Enable Zombie...”。但是当我现在尝试时,我得到了这个:
没有更多的僵尸。有没有可能我以某种方式删除了它们?
ios - UITableView ARC 问题
现在我正在制作一个使用 UITableView 的应用程序,但我已经为这个问题苦苦挣扎了 3 天,但我无法弄清楚。
在 .h 文件中,我订阅了两种 tableview 方法。像这样:
我的实现可以在这里找到:
每当应用程序加载时,它总是崩溃。所以我启用了 NSZombies 并收到了消息:
所以我在网上查了一下,发现几乎在所有情况下,都会在 tableview 之前发布时发生这种情况numberOfSectionsInTableView
。所有的网站都说我应该保留 tableview,但我正在使用 ARC,我不能这样做。这种崩溃只是偶尔发生。然后当它没有时,当我尝试触摸 tableview 或尝试滚动它时,它崩溃了。我到处找,我根本找不到关于这个问题的任何东西,而且我当然无法弄清楚 tableview 是在哪里发布的。任何帮助将不胜感激。
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
方法似乎是问题的根源。这里是代码。InternalView
UIView
评论[detView release]
,崩溃消失了。
objective-c - 块和异步回调,dealloc 对象 - 需要 nil 块
这里有一个类似的问题,它没有准确解释我想要什么:Objective C Blocks as Async-callbacks & BAD ACCESS
我有一个视图控制器,它使用异步回调调用服务。回调是使用一个块完成的,该块引用视图控制器上的变量来填充它们。
它看起来像这样:
但是,如果我解除了视图控制器的分配,则回调会严重访问“我”。
使“我”为空的最简单方法是什么?如果我把它作为一个 iVar,它会带回循环引用......我想?
我想我错过了一些明显的东西......
谢谢
ios5 - MFMessageController 的 EXC_BAD_ACCESS
当我按下消息编写器表中的发送按钮时出现此错误,我的代码是这样的:
我已经在 .h 文件中初始化了选择器。我怎么离开这里?我尝试使用 NSZombies,但由于问题出现在消息传递部分,我不能在那里使用它们。