问题标签 [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 回答
2095 浏览

iphone - [错误本地化描述] 上的 EXC_BAD_ACCESS;

此代码引发 EXC_BAD_ACCESS:

0 投票
1 回答
5680 浏览

objective-c - 在 insertNewObjectForEntityForName:inManagedObjectContext 上的 exc_bad_access

我写了一个我遇到的问题的最小代码示例。我以两种方式实现后台工作:手动生成线程和让NSOperation处理线程。在这两种情况下,我都在NSManagedObjectContexts为每个线程/操作创建。

当我自己生成线程时,performSelectorInBackground:withObject:一切正常。当我切换到将我的对象传递给 an时,NSOperationQueue我在尝试保存操作时看到以下错误NSManagedObjectContext

-EXC_BAD_ACCESS - 严重的应用程序错误。在核心数据更改处理期间捕获到异常:*** -[NSCFSet addObject:]:尝试使用 userInfo (null) 插入 nil - _referenceData64 仅为抽象类定义。定义 -[NSTemporaryObjectID_default _referenceData64]!

我相信这个错误,特别是考虑到最后一个错误,与使用临时 objectID 在线程/上下文之间传递对象有关。可能,更糟糕的是,我不知何故NSManagedObjects在线程之间传递。

无论哪种方式,我都找不到任何建议我这样做的代码。

我的最小代码示例可以在这里找到。

大部分工作都是在 in 中完成AppDelegateawakeFromNib。设置EXECUTE_WITH_NSOPERATION为 0 以运行performSelectorInBackground:withObject:. 保留EXECUTE_WITH_NSOPERATION1 以执行NSOperationQueue创建一堆MCBoardParse对象。

我只在 10.6 下看到这个。

原来的

我有一个基于 10.5 框架的 Cocoa 应用程序。在NSOperation一个循环中,我正在快速创建数百个NSManagedObjects. 经常创建这些NSManagedObejcts会因 EXC_BAD_ACCESS 错误而崩溃。这发生在引用计数内存管理和垃圾收集下。

Thumbnail 和 Image 都是NSManagedObject用 mogenerator 生成的子类。 insertInManagedObjectContext:好像

moc 被定义为(nonatomic, retain)并合成。据我所知,持久存储和我的存储appDelegate没有理由被垃圾收集,也没有被垃圾收集。

堆栈跟踪看起来像

我的应用程序在其他地方因 EXC_BAD_ACCESS 而崩溃,但这是最常发生的代码。所有堆栈跟踪看起来都相似,并且与CFHash.

0 投票
1 回答
2670 浏览

iphone - CGContextDrawImage returning bad access

I've been trying to blend two UIImage for about 2 days now and I've been getting some BAD_ACCESS errors. First of all, I have two images that have the same orientation, basically I'm using the CoreGraphics to do the blending.

One curious detail, everytime I modify the code, the first time I compile and run it on device, I get to do everything I want without any sort of trouble. Once I restart the application, I get error and the program shuts down.

Can anyone give me a light? I tried accessing the baseImage sizes dynamically, but it gives me bad access too.

Here's a snippet of how I'm doing the blending.

Complementing: Sometimes it gets to work perfectly, no problem. Sometimes it simply overlays and doesn't blend. Others it crashes the iphone.

0 投票
2 回答
495 浏览

iphone - 每次在导航控制器设置中选择 tableview 行时,应用程序就会崩溃

免责声明:我对 Objective-C 和保留模型还很陌生。在过去的五年里,我一直在垃圾收集的 .NET 环境中进行开发,所以我被宠坏了。我还在学习。

我的 iPhone 应用程序因 EXC_BAD_ACCESS 而崩溃。它发生在导航控制器/表格视图设置中。当我第一次选择一行时,没有问题。它可以毫无问题地切换到子控制器。我返回并再次选择同一行。然后程序继续崩溃。每隔一行都可以正常工作,但是每第二次访问一行时,它就会崩溃。

我已经确定了发生这种情况的位置。正在切换到的子控制器(这是我为同一类型的每一行重用的类)具有一个 NSString 数组,表示将显示的行。我在推动子视图控制器之前设置它。它就在那里显然发生了这种情况。

我很难调试这个问题,仍然在与 xcode 和所有东西搏斗。我担心这里可能缺少一些重要信息,但也许你知道一些东西。

0 投票
3 回答
1452 浏览

objective-c - 当 MaxConcurrentOperationCount > 1 时,我得到 EXC_BAD_ACCESS

您好,我正在使用 NSOperationQueue 在后台下载图像。我创建了一个自定义 NSOperation 来下载图像。我将图像放在表格单元格中。问题是如果我执行 [operationQueue setMaxConcurrentOperationCount: 10] 并向下滚动几个单元格,程序会因 EXC_BAD_ACCESS 而崩溃。每次它在桌子的同一个地方崩溃。一个接一个地有 3 个单元,它们是同一家公司的,并且具有相同的徽标,因此基本上它应该下载图像 3 次。每隔一段时间它工作正常。

这就是我处理下载图像的方式。如果我在上面的函数中注释掉 [delegate didFinishDownloadingImage: self]; 它不会崩溃,但它当然没用。

0 投票
1 回答
170 浏览

iphone - iPhone SDK,EXC_BAD_ACCESS 改变图像?

我有我的代码,当它应该改变时我收到 EXC_BAD_ACCESS 错误......任何想法:

0 投票
2 回答
394 浏览

iphone - 当我的视图控制器尝试第二次访问单例变量时出现 EXC_BAD_ACCESS 错误

我有一个我正在构建的应用程序,它是一个简单的导航应用程序。我不想多次从我的 xml 加载数据,所以我使用单例来加载和保存数据。我的第一个表推动了第二个表的视图。该表调用单例并从那里获取数据数组以显示在表中。

这一切都很好,我单击第一个表中的一个单元格,将我带到使用单例的第二个表。我导航回第一个表,然后返回第二个表,这是我收到 EXC_BAD_ACCESS 错误的时候。当我初始化单例但当我尝试访问其中的数组时它不会出错。代码如下

MediaData *dataClass = [MediaData sharedManager];

//当我第二次签入单例时 sharedManager 已经存在

sortedData = dataClass.arrMediaData; //此行第二次出错

NSLog(@"排序后的数组。%@", sortedData);

[数据类发布];

任何帮助都会很棒,因为它不是一个非常描述性的错误,谢谢

0 投票
3 回答
1651 浏览

iphone - 当我尝试读取 NSString 时,我得到一个“EXC_BAD_ACCESS”

这是我的 iPhone 代码的(非常)简化版本:

@interface x {
NSString * name1;
NSString * name2;
}

-init {
name1 = @"";
name2 = @"";
}

-(void) a {
Foo * foo = [Foo alloc];
name1 = @“嗯”;
name2 = [富吧];// return a (NSString *)
[foo release];
}

-(void) b {
NSLog(@"%@", name1); // 它工作
NSLog(@"%@", name2); // 我得到一个 EXC_BAD_ACCESS...
}

为什么我有这个问题?我该如何解决?
谢谢 !

编辑:我刚刚解决了问题,我忘记了“保留”......

0 投票
1 回答
2443 浏览

iphone - Objective C - 在 UITextView 中显示数据

我在 iPhone 编程的 UITextView 中显示数据时遇到了困难。

我正在分析传入的音频数据(来自麦克风)。为了做到这一点,我从我的 SignalAnalyzer 类中创建了一个对象“分析器”,它执行传入数据的分析。我想做的是在 TextView 中实时显示每个新传入的数据。

因此,当我按下按钮时,我创建了分析传入数据的对象“分析器”。每次有新数据时,我都需要在 TextView 的屏幕上显示它。

我的问题是我收到了一个错误,因为(我认为)我正在尝试向父类发送一条消息(负责在我的 UITextView 中显示内容的那个:它有一个在 Interface Builder 中链接的 UIExView 实例变量) . 我应该怎么做才能告诉我的父类它需要显示什么?或者我应该如何设计我的课程来自动显示一些东西?

感谢您的帮助。

PS:这是我的错误:

0 投票
5 回答
13084 浏览

iphone - 使用委托模式时避免 EXC_BAD_ACCESS

A 有一个视图控制器,它创建一个“下载器”对象,该对象具有对视图控制器的引用(作为委托)。如果成功下载项目,下载器会回调视图控制器。只要您停留在视图上,它就可以正常工作,但是如果您在下载完成之前离开,我会得到EXC_BAD_ACCESS. 我理解为什么会发生这种情况,但是有没有办法检查一个对象是否仍然被分配?我尝试使用delegate != nil, 和进行测试[delegate respondsToSelector:],但它卡住了。

我知道我可以,

a) 让下载器对象保留视图控制器

b) 在视图控制器中保留一组下载器,并在我解除分配视图控制器时将它们的委托值设置为 nil。

但我想知道是否有更简单的方法,我只测试委托地址是否包含有效对象?