问题标签 [exc-bad-access]

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 投票
2 回答
1969 浏览

uibutton - IBAction UIButton 和 EXC_BAD_ACCESS

在 .h 文件中我写

和.m

并连接到内部甚至修饰但是当我运行我的程序时它错误显示此消息

-[UITouchData openShuffleForm]:无法识别的选择器发送到实例 0x391cc20

** 发生了什么我不知道为什么?

0 投票
2 回答
2978 浏览

crash - 由于推送和弹出 UIViewControllers,UINavigationController 崩溃

问题: 我有一个 UINavigationController 作为 UIWindow 的子视图、一个 rootViewController 类和一个自定义 MyViewController 类。以下步骤将获得 Exc_Bad_Access,100% 可重现。:

点击左回 tapBarItem 两次(弹出两个 myViewController 实例)以显示 rootViewController。

经过 1/2 天的痛苦尝试和错误,我终于找到了答案,但也提出了一个问题。

解决方案:我将 .m 文件中的许多对象声明为声明私有变量的一种惰性方式,以避免使 .h 文件混乱。例如,

由于某些原因,当加载 myViewController_2ndInstance 的视图后卸载 myViewController_1stInstance 的视图(但仍在导航控制器的堆栈中)时,iphone OS 可能会丢失这些“惰性私有”变量内存分配的跟踪。由于 myViewController_2ndInstance'view 仍然加载,第一次点击后面的 tapBarItem 是可以的。但是第二次点击后面的 tapBarItem 给了我地狱,因为它试图释放第一个实例。它称为 [variable release] 导致 Exc_Bad_Access 因为它随机指向(松散的指针)。

要解决这个问题很简单,在 .h 文件中将 variable1 声明为 @private。

这是我的问题: 我一直在使用“惰性私有”变量很长一段时间没有任何问题,直到它们参与 UINavigationController。这是 iPhone OS 中的错误吗?还是我对 Objective C 存在根本性的误解?

0 投票
1 回答
1609 浏览

iphone - drawRect 中的 EXC_BAD_ACCESS

“有时”下面的代码在设备上运行时会导致崩溃(EXC_BAD_ACCESS)。永远不要在模拟器上。

为了重现它,我一直在我的表格视图控制器上覆盖一个模态视图控制器。它通常在模态视图控制器被解除时发生。

任何想法为什么会发生这种情况?

谢谢

0 投票
6 回答
3143 浏览

iphone - xCode for iPhone EXC_BAD_ACCESS 错误仅在单步调试器时发生?

我正在 xCode for iPhone 中处理一个项目,我收到 EXC_BAD_ACCESS 错误,但是,我只在单步执行我尝试调试的函数时收到错误。当我从函数中取出断点,但仍以调试模式运行项目时,我从未收到此错误。无论如何要解决这个问题或找出导致 EXC_BAD_ACCESS 错误的原因。

错误来了:for ( BEUCharacterAIBehavior *behavior in behavior_.behaviors )

但是,当单步执行值时,behavior_.behaviors 会被分配和保留。NSZombiesEnabled 已设置,但仍会收到神秘的错误消息。

代码:

}

错误堆栈

0 0x02aebdcb 在 object_getClass
1 0x00002ac0 在
2 0x00014bb9 在 -[BEUCharacterAI getHighestValueBehaviorFromBehavior:] 在 BEUCharacterAI.m:115
3 0x00014b6b 在 -[BEUCharacterAI getHighestValueBehavior] 在 BEUCharacterAI.m:103
4 个字符 [0x0001AI4904 ] 在 BEUBEUacterAIm:104 68
5 0x00008975 in -[BEUCharacter step:] at BEUCharacter.m:229
6 0x00022aeb in -[EskimoCharacter step:] at EskimoCharacter.m:28
7 0x0000ed2b in -[BEUObjectController step:] at BEUObjectController.m:381
8 0x00003651 in - [BEUGame 步骤:] 在 BEUGame.m:63
9 0x0007cc42 在 -[CCTimer fire:] 在 CCScheduler.m:87
10 0x0007d846 在 -[CCScheduler tick:] 在 CCScheduler.m:212
11 0x000500b3 in -[CCDirector mainLoop] at CCDirector.m:208
12 0x000532b3 in -[CCDisplayLinkDirector preMainLoop:] at CCDirector.m:1055
13 0x00796f06 in CA::Display::DisplayLink::dispatch
14 0x0079704b in CA::Display: :EmulatorDisplayLink::callback
15 0x029810f3 in CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION
16 0x02982734 in __CFRunLoopDoTimer
17 0x028df689 in __CFRunLoopRun
18 0x028dec00 in CFRunLoopRunSpecific
19 0x028deb21 in CFRunLoopRunInMode
20 0x03e96378 in GSEventRunModal
21 0x03e9643d in GSEventRun
22 0x0083bf89 in UIApplicationMain
23 0x00002b50 in main at main.m:13

0 投票
1 回答
422 浏览

iphone - iphone - 如何正确处理异常情况(信号?)

在我的 iphone 应用程序中,我想提供某种应用程序终止处理程序,它将在应用程序终止之前完成一些最终工作(删除一些敏感数据)。

我想处理尽可能多的终止情况:
1)用户终止应用程序
2)设备电量耗尽
3)系统由于某种原因(例如内存不足或应用程序冻结)终止应用程序
4)应用程序崩溃(EXC_BAD_ACCESS 或 SIGSEGV)

还有什么特殊情况吗?
实现这一目标的最佳方法是什么(例如,在情况 2 中调用了 applicationWillTerminate 方法)?
是否可以在信号处理程序中进行清理(包括 iPhone 安全框架调用)?

问候

0 投票
2 回答
2022 浏览

iphone - 分配具有一对一关系的变量时出现核心数据错误

我试图将一个托管对象(C)及其属性分配给另一个托管对象(B)(一对一关系),其中另一个托管对象(B)与另一个托管对象(A)具有一对多关系)。这个作业有一个错误,我复制如下:

我不太明白这个错误的确切描述是什么。有人可以向我解释它是什么以及如何解决这个问题。请注意,托管对象 B 没有任何 A 项的所有其他分配不会引发此错误。

先感谢您。

我添加了更多 NSZombieEnabled/MallocStackLogging 生成的日志:

0 投票
1 回答
3508 浏览

objective-c - Objective-C NSMutableArray 计数导致 EXC_BAD_ACCESS

我已经坚持了好几天了,每次我回到它时,我都会让我的代码越来越让自己感到困惑,哈哈。这就是我想要做的。我有收费的表格列表,我点击一个并显示一个包含收费详细信息的模型视图。现在,当模型出现时,会创建一个对象来获取用户的 XML 列表并对其进行解析并通过自定义委托返回 NSMutableArray。然后我有一个按钮,它显示一个选择器弹出框,当调用弹出框视图时,用户数组在对弹出框视图的 initWithArray 调用中使用。我知道数组中的数据是正确的,但是当调用 [pickerUsers count] 时,我得到一个 EXC_BAD_ACCESS。我认为这是一个内存/所有权问题,但似乎没有任何帮助。任何帮助,将不胜感激。

相关代码片段:

Charge Popover(充电细节模型视图):

用户选择器视图控制器

如果可能有帮助,我可以提供其他代码。提前致谢。

0 投票
1 回答
679 浏览

objective-c - 单例数组被释放?EXC_BAD_ACCESS

好的,所以我有这个单例对象,其中有一个需要在表格视图中显示的数组。问题是它释放了,在第一次演出之后,我在 cellForRowAtIndexPath 中得到了 EXC_BAD_ACCESS

计数发送到 cellForRowAtIndexPath 中的 CFArray .. 的已释放实例 .. 什么是释放它?为什么?它被声明为 NSMutableArray 并定义了 (nonatomic,retain) 属性..

0 投票
3 回答
519 浏览

objective-c - 'EXC_BAD_ACCESS' 尝试访问变量时?

尝试访问函数中设置的变量以外的变量时出现“ EXC_BAD_ACCESS ”错误

该变量在 ' awakeFromNib ' 函数中设置:

并在“ searchBtnClick ”中访问:

变量本身在标题中定义:

有人可以建议这可能有什么问题吗?

getSessionID 返回值的部分:

0 投票
1 回答
405 浏览

iphone - 内存管理错误,使用 cocos2d for iPhone

所以我在 cocos2d 中遇到了 EXC_BAD_ACCESS 错误。从到目前为止我一直在搜索的内容来看,它主要与尝试释放已经释放的对象有关。我之前遇到过这个错误,它的解决方案很简单,几乎是由释放一个释放的对象引起的。但是现在,使用 cocos2d(不确定这是否是他们框架中的错误),我在这一行得到了 EXC_BAD_ACCESS:

基本上,我正在创建一个简单的菜单系统,以便于维护和更新。没什么太严重的。在这个特定的行中,我正在创建一个以 self 作为目标并使用选择器的 CCMenuItemSprite。我已经断言作为参数传递的选择器是正确的,并且还尝试对正常和选定的精灵使用不同的(尽管这不应该有任何区别)但仍然不行!错误在 cocos2d 框架中很深,正是当 CCMenuItem 被“激活”时,它调用了同一类的 NSInvoker 上的调用。并分析堆栈跟踪,它恰好在调用方法上崩溃,这导致人们相信它与 NSInvoker 有关。有人有类似的问题或对此问题有建议吗?提前致谢。