问题标签 [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.
iphone - 使用前向声明调用类时,IBOutlet 为 NIL?
我一直有这个问题,所以我画了一个图表......
替代文字 http://tomsfil.es/7bdead0a.png
我成功进入了 A 类 - 方法 B,但那时,IBOutlet Z 是零?:( 有任何想法吗?
注意 有人告诉我这可能是一个过度发布并使用 NSZombieEnabled 但这让我很困惑
iphone - 如何调试仅在 iPhone 应用程序的发布目标上发生的 EXC_BAD_ACCESS?
我正在开发一个 iPhone 应用程序。我有一个EXC_BAD_ACCESS
仅在发布目标中出现的;当我构建调试目标时,不会发生异常。但是,当我将NSZombieEnabled
环境变量设置为时YES
,我仍然EXC_BAD_ACCESS
没有进一步的信息。NSZombieEnabled
执行发布目标时甚至可以工作吗?我不明白为什么不,因为 gdb 在这两种情况下都在运行......
更新:这是堆栈顶部的打印输出:
这是顶部 objc_msgSend 调用内部的一个 gdb 会话:
发生异常就行了0x33369ebc <objc_msgSend+20>: ldr r5, [r4, #8]
。r4
刚刚被赋予 指向的值r0
,恰好是 0。我想知道 . 的内存区域应该是什么0x3100000
。这是该区域的内存转储:
我真的不知道还能尝试什么;希望有更多 iphone 经验的人能够认识到这段记忆是有意义的。
更新 2:我刚刚发现问题仅在使用 -O2、-O3 和 -Os 编译时出现。不确定这意味着什么。
iphone - EXC_BAD_ACCESS NSUrlConnection
EXC_BAD_ACCESS
当我执行函数的最后一行(webData)时,我得到了一个。
我尽量不发布任何东西,因为我在网上看到的是它几乎总是一个记忆的东西。
当我调试代码时,(NSZombieEnabled = YES)
这是我得到的:
有人有线索吗?
iphone - NSZombieEnabled 破坏工作代码?
我有以下方法UIImageManipulation.m
:
我用不同的观点来称呼它:
(imageView是之前分配的一个UIImageView)
这在我的代码中效果很好。我完美地调整了图像的大小,并且抛出了零错误。我也没有在构建->分析下弹出任何东西。但是第二次我打开NSZombieEnabled
调试另一个EXC_BAD_ACCESS
问题时,代码就中断了。每一次。我可以NSZombieEnabled
关闭,代码运行良好。我打开它,然后砰的一声。破碎的。我注释掉这个电话,它又可以工作了。每次,它都会在控制台中给我一个错误:-[UIImage release]: message sent to deallocated instance 0x3b1d600
. 如果 `NSZombieEnabled 关闭,则不会出现此错误。
有任何想法吗?
- 编辑 -
好吧,这要死我了。我到处都设置了断点,但我仍然无法抓住这个东西。这是我调用该scaleImage
方法时的完整代码:
另一种方法UIImageManipulator
(makeRoundCornerImage
_
不过,这与这种方法有关。必须。如果我将其注释掉,它会很好用。如果我把它留在里面,错误。但它不会在NSZombieEnabled
关闭时抛出错误。
iphone - 在没有 NSZombie 的情况下追踪 EXC_BAD_ACCESS?
我已经花了两天时间,但我仍然找不到崩溃的原因。
我知道这与尝试访问已释放的对象有关,但我不知道哪个访问或哪个对象。
每当我谷歌试图找到 EXC_BAD_ACCESS 的来源时,人们建议使用 NSZombies。问题是当我启用僵尸(通过环境变量在 xcode 中或通过 ObjectAlloc 属性在仪器中)时,程序不会在通常发生的地方崩溃,并且僵尸不会报告任何内容(日志中没有任何内容,也没有任何标记仪器)。NSZombie 有什么我缺少的吗?
我尝试利用来自 xcode 的调试器和工具中的 ObjectAlloc 的一些信息,但所有信息都非常神秘,并没有真正帮助我。
我已将调试器设置为在objective-c 异常上停止。当它这样做时,这是显示的调用堆栈:
首先,'1 ??' 是怎么回事?? 问号是什么意思?其次,我怎么知道在我的代码中调用它的位置?所陈述的所有操作都太通用了(例如 UIView dealloc,但是哪个 UIView?在哪里?)。
此外,当异常发生时,它再次指向汇编代码,这对我没有任何好处,除非我要花费数小时试图弄清楚代码的作用。我知道一些组装,但必须有更好的方法......对吗?
有什么方法可以让我获得有意义的信息,说明在异常发生之前我的代码中运行的最后一行是什么?
我尝试在周围散布一些 NSLogs 和断点,但这对我没有多大帮助,因为崩溃发生在我从导航控制器弹出视图控制器之后。我放置断点的所有地方都可以很好地达到断点(崩溃后我找不到要中断的点)。只有当我在调试器中“继续”时才会发生异常。就好像崩溃发生在我的代码之外,所以我不知道在哪里处理它。
我查看了我的代码并仔细检查了我是否遵守所有内存管理规则(至少据我所知)。我确定这是非常微妙的东西,但我似乎无法找到它。
如果有人有任何想法如何在没有 NSZombie 的情况下找到此类错误,请分享。
谢谢。
iphone - 分析 NSZombie
我不断收到错误的指令或错误的异常,所以我启用了 NSZombieEnabled 和其他所需的变量,但我不知道如何分析结果。这是记录的内容:
更新:
我想我找到了问题的根源。
保留计数记录为:1 1 5 4
我不明白为什么推动 viewController 会使 retainCount 上升到 5 =\
iphone - -[CALayer retain]:消息发送到释放的实例
我正在开发一个 iphone 应用程序,当我打开我的 NSZombieEnabled 时,我经常会因错误而崩溃:
当我在视图控制器中推送或弹出视图时,它总是会出现。有时之前会出现这个错误:
这是什么意思?任何人都有线索或遇到过这个问题?
非常感谢您的帮助!
罗曼
iphone - NSZombie 没有登录到控制台
我的一个表视图出现 EXC_BAD_ACCESS 错误。我尝试将 NSZombieEnabled 键添加到可执行文件环境变量中。
似乎屏幕不再崩溃,但我没有从日志中收到任何消息来指示正在发生的事情
我究竟做错了什么?
iphone - 不知何故,我的单身财产正在被释放
我有一个名为的单例对象PoolManager
,它在 plist 中加载和保存一些数据。在我的整个程序中,当需要了解我的池时,它会询问[PoolManager sharedPoolManager]
它的属性。我有一个视图负责设置这些属性,而所有其他属性都只是从中读取。一切正常,然后不知为什么,它开始崩溃。我设置NSZombieEnabled = YES
并可以看到,当我访问这两个NSString
属性之一时,它们似乎已被释放。调试器消息是:*** -[CFString respondsToSelector:]: message sent to deallocated instance 0x5a336d0
我尝试回到以前的快照,一切正常,它仍然这样做。我什至使用 TimeMachine 从昨天回到项目,它也这样做了。我很困惑。
这是单例对象代码......显然是僵尸的surface
和字符串。shape
对不起所有的NSLogs
nszombie - 无法启用 NSZombieEnabled
我正在使用 xcode_3.2.3_and_ios_sdk_4.0.1 并设置以下所有内容。
启用它(在 xcode 中) 1. 在 Xcode 项目的 Executables 组中双击一个可执行文件。2. 单击参数选项卡。3. 在“要在环境中设置的变量:”部分中,创建一个名为“NSZombieEnabled”的变量并将其值设置为“YES”。
但是我在 Leaks 中看不到 NSZombieEnabled。当我单击分配右侧的 X 按钮时,我只看到 4 个项目,而不是 5 个项目。我看不到“启用 NSZombie 检测”复选框。
我的测试 iphone 是 3G,更新 4.0 iOS。我可以使用设备来使用 NSZombieEnable 吗?
谢谢。