标签: exc-bad-access

当我动画UIView时,内存过度释放问题

我启用了NSZombie,当我运行我的应用程序时,我在控制台中收到以下消息:

 *** -[UIViewAnimationState release]: message sent to deallocated instance 0xf96d7e0
Run Code Online (Sandbox Code Playgroud)

这是执行动画的方法

-(void)loadAvatar:(STObject*)st
{   
    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];    

    avatar.alpha = 0;
    avatar.frame = avatarRectSmall;

    avatar.image = [ImageCache getMemoryCachedImageAtUrl:st.avatar_url];

    [UIView beginAnimations:nil context:nil];
    [UIView setAnimationDuration:.50];

    avatar.frame = avatarRectNormal;
    [avatar setAlpha:1];
    [UIView commitAnimations];


    [pool release];
    pool = nil;
}
Run Code Online (Sandbox Code Playgroud)

我有时候并不会总是崩溃.我想知道什么是发布的?

iphone cocoa-touch exc-bad-access objective-c ipad

5
推荐指数
2
解决办法
3340
查看次数

简单的UITextView崩溃

我试图UITextView在基本视图中使用简单,但它会导致应用程序偶尔崩溃.有时它在我输入内容时崩溃,有时当我滚动时,有时在我按下返回键后.从堆栈跟踪看,它看起来像是由图形或动画相关代码引起的,用于渲染用于拼写检查,语法检查等的UI元素.

为什么这会让我的应用程序崩溃?我是否需要导入其他库,还是需要为UITextView指定某种委托?我确实只是在准系统视图中有一个简单的UITextView,没什么特别的.

这是堆栈跟踪:

Program received signal:  “EXC_BAD_ACCESS”.
(gdb) bt
#0  0x9535f9b1 in ?? ()
#1  0x9534c33f in ?? ()
#2  0x9534c13e in ?? ()
#3  0x9634df5c in ?? ()
#4  0x9418d244 in CGDataProviderRetain ()
#5  0x963b7036 in ?? ()
#6  0x98263486 in CGImageReadCreateWithProvider ()
#7  0x982633a2 in CGImageSourceCreateWithDataProvider ()
#8  0x020c0947 in CGImageCreateWithPNGDataProvider ()
#9  0x02ebfeed in WKGraphicsCreateImageFromBundleWithName ()
#10 0x02ebfc3b in WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar ()
#11 0x02ebf9cb in WebCore::InlineTextBox::paintSpellingOrGrammarMarker ()
#12 0x02e73932 in WebCore::InlineTextBox::paintDocumentMarkers ()
#13 0x02e730a1 in WebCore::InlineTextBox::paint …
Run Code Online (Sandbox Code Playgroud)

iphone exc-bad-access objective-c uitextview

5
推荐指数
1
解决办法
2915
查看次数

行数为0时,UITableView中的EXC_BAD_ACCESS崩溃

将表中的行数设置为零时,我的UITableView出现一致崩溃。它因EXC_BAD_ACCESS错误而崩溃。崩溃是UITableView的内部问题,所以我无法直接查看出了什么问题,尽管这对我来说应该是一个愚蠢的错误。

堆栈跟踪如下:

#0  0x0194ca60 in objc_msgSend ()
#1  0x00656837 in -[UITableView(UITableViewInternal) _createPreparedCellForGlobalRow:withIndexPath:] ()
#2  0x0064c77f in -[UITableView(UITableViewInternal) _createPreparedCellForGlobalRow:] ()
#3  0x00661450 in -[UITableView(_UITableViewPrivate) _updateVisibleCellsNow:] ()
#4  0x00659538 in -[UITableView layoutSubviews] ()
#5  0x00d39451 in -[CALayer layoutSublayers] ()
#6  0x00d3917c in CALayerLayoutIfNeeded ()
#7  0x00d3237c in CA::Context::commit_transaction ()
#8  0x00d320d0 in CA::Transaction::commit ()
#9  0x00d627d5 in CA::Transaction::observer_callback ()
#10 0x013a3fbb in __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ ()
#11 0x013390e7 in __CFRunLoopDoObservers ()
#12 0x01301bd7 in __CFRunLoopRun ()
#13 0x01301240 in CFRunLoopRunSpecific ()
#14 0x01301161 in …
Run Code Online (Sandbox Code Playgroud)

iphone exc-bad-access objective-c uitableview

5
推荐指数
1
解决办法
6515
查看次数

UIImageJPEGRepresentation抛出EXC BAD ACCESS

我有功能,它收到2个参数 - 图像和数字.下面的函数抛出EXC BAD ACCESS行"imgData = UIImageJPEGRepresentation(image,1.0);".我不知道为什么:-(任何想法?

- (void)saveImages:(UIImage*)image row:(int)row {
  if (image != nil) {
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsDirectory = [paths objectAtIndex:0];
    NSString* path1 = [documentsDirectory stringByAppendingPathComponent: 
                      [NSString stringWithFormat:@"%i.JPEG", row]];
    NSString* path2 = [documentsDirectory stringByAppendingPathComponent: 
                      [NSString stringWithFormat:@"%is.JPEG", row]];

    NSData* imgData;
    imgData = UIImageJPEGRepresentation(image, 1.0);
    [imgData writeToFile:path1 atomically:YES];

    [self rotateIcon:image];
    image = [self imageWithImage:image];
    NSData* smalImgData = UIImageJPEGRepresentation(image, 1.0);
    [smalImgData writeToFile:path2 atomically:YES];
  }
}
Run Code Online (Sandbox Code Playgroud)

cocoa-touch image exc-bad-access uikit uiimagejpegrepresentation

5
推荐指数
0
解决办法
1395
查看次数

iOS5中的MGTwitterEngine崩溃

虽然MGTwitterEngine在以前版本的iOS上运行良好,但是当我尝试发布twit时,它在EXC_BAD_ACCESS失败了:

[twitter sendUpdate:textToShare];
Run Code Online (Sandbox Code Playgroud)

Objective-C代码执行器的最后一个列表是:

[theRequest prepare];
Run Code Online (Sandbox Code Playgroud)

在SA_OAuthTwitterEngine.m中.这是调用堆栈:

#1  0x00045a63 in -[OAMutableURLRequest URLEncodedString:] at /Users/ben/Dropbox/Dev/External Projects/Twitter-OAuth-iPhone/OAuthConsumeriPhoneLib/OAuthConsumerSrc/OAMutableURLRequest.m:287
#2  0x000445fa in -[OAMutableURLRequest prepare] at /Users/ben/Dropbox/Dev/External Projects/Twitter-OAuth-iPhone/OAuthConsumeriPhoneLib/OAuthConsumerSrc/OAMutableURLRequest.m:131
#3  0x00041778 in -[SA_OAuthTwitterEngine _sendRequestWithMethod:path:queryParameters:body:requestType:responseType:] at /Developer/WorkShop/XDictionary/trunk/Dictionary/Twitter+OAuth/SAOAuthTwitterEngine/SA_OAuthTwitterEngine.m:325
#4  0x000356b1 in -[MGTwitterEngine sendUpdate:inReplyTo:] at /Developer/WorkShop/XDictionary/trunk/Dictionary/Twitter+OAuth/MGTwitterEngine/MGTwitterEngine.m:1037
#5  0x0003546c in -[MGTwitterEngine sendUpdate:] ()
#6  0x00023ae7 in -[SocialNetworking twitterShare] ()
#7  0x00023c2b in -[SocialNetworking OAuthTwitterController:authenticatedWithUsername:] ()
#8  0x0003d0d5 in -[SA_OAuthTwitterController gotPin:] ()
#9  0x0003eabb in -[SA_OAuthTwitterController webViewDidFinishLoad:] ()
#10 0x0051736a in -[UIWebView webView:didFinishLoadForFrame:] ()
#11 0x00518956 in -[UIWebViewWebViewDelegate webView:didFinishLoadForFrame:] ()
#12 …
Run Code Online (Sandbox Code Playgroud)

exc-bad-access mgtwitterengine ios5

5
推荐指数
1
解决办法
1722
查看次数

使用sqlite3_step(语句)访问不一致但频繁的EXC_BAD_ACCESS访问

执行此行时,我在iOS中频繁出现EXC_BAD_ACCESS崩溃:

while (sqlite3_step(statement) == SQLITE_ROW) {

}
Run Code Online (Sandbox Code Playgroud)

它用于在我的(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 功能中提供结果.

有任何想法吗?SQL等看起来很好,数据库正在后台线程中更新,之后我调用前台线程来更新UI.

sqlite iphone exc-bad-access ios ios5

5
推荐指数
1
解决办法
1202
查看次数

iOS中奇怪的WebThread崩溃

我在网络线程中遇到了一个奇怪的崩溃,发布了一个URLResponse.我没有直接操作URLCache的内容,那么这个问题可能是什么原因呢?

这是崩溃日志供参考:

Incident Identifier: E4116BAA-7467-42F8-B28E-7A1FA2D12278
CrashReporter Key:   dcaac993b4bfa7e5015f07b0ffc611182b196e57
Hardware Model:      iPad2,1
Process:         *** [6299]
Path:            /var/mobile/Applications/
Identifier:      ***
Version:         ??? (???)
Code Type:       ARM (Native)
Parent Process:  launchd [1]

Date/Time:       2012-06-25 11:11:59.347 +0800
OS Version:      iPhone OS 5.0.1 (9A405)
Report Version:  104

Exception Type:  EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x42810008
Crashed Thread:  2

Thread 0 name:  Dispatch queue: com.apple.main-thread
Thread 0:
0   libsystem_kernel.dylib          0x30367010 mach_msg_trap + 20
1   libsystem_kernel.dylib          0x30367206 mach_msg + 50
2   CoreFoundation                  0x37cea41c __CFRunLoopServiceMachPort + 120 …
Run Code Online (Sandbox Code Playgroud)

exc-bad-access objective-c nsurlcache ios

5
推荐指数
0
解决办法
1576
查看次数

在Core Data存储上使用deleteObject:时的EXC_BAD_ACCESS(SIGSEGV)

在我的应用程序中,我正在删除(或尝试删除)来自两个核心数据存储的所有记录,然后再添加新的记录.它们是2个简单的存储,包含与地址簿中的记录相关的数据(VIContacts包含联系人ID和vcard哈希(整数),VIGroup包含组ID和组名).

要从商店中删除所有联系人,我使用这段代码,在一个名为的方法中-clear::


NSArray *allOldRowsInVIContacts = [[mainContext fetchObjectsForEntityName:[VIContact name]
                                               includePropertyValues:NO
                                               withPredicate:nil] copy];

for (NSManagedObject *obj in allOldRowsInVIContacts) {
    @try {
        [mainContext deleteObject:obj];
    }
    @catch (NSException *exception) {
        NSLog(@"Exception Triggered: %@", exception.reason);
        [NSException raise:exception.reason format:@"thrown on vicontacts."];
    }
}

[allOldRowsInVIContacts release];

if (![mainContext save:error]) {
    return NO;
}

NSArray *allOldRowsInVIGroups = [[mainContext fetchObjectsForEntityName:[VIGroup name]
                                                 includePropertyValues:NO
                                                         withPredicate:nil] copy];

NSLog(@"all rows in VIGroups count: %d", [allOldRowsInVIGroups count]);

for (NSManagedObject *obj in allOldRowsInVIGroups) {
    @try {
        [mainContext deleteObject:obj];
    }
    @catch (NSException *exception) { …
Run Code Online (Sandbox Code Playgroud)

macos exc-bad-access core-data objective-c

5
推荐指数
2
解决办法
3512
查看次数

调用managedObjectContext保存时EXC_BAD_ACCESS

偶尔我会收到此错误:

EXC_BAD_ACCESS Code: KERN_INVALID_ADDRESS at 0x13421772123
Run Code Online (Sandbox Code Playgroud)

它发生在下面的save:行中(在CoreDataController单例类中)

    NSError *error = nil;
    NSManagedObjectContext *managedObjectContext = self.managedObjectContext;

    if (managedObjectContext != nil) {
        if ([managedObjectContext hasChanges] && ![managedObjectContext save:&error]) {
            NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
        }
    }
Run Code Online (Sandbox Code Playgroud)

我知道这不是很多代码,但从经验来看,这是有共同的原因,以及任何方法来防止这个应用程序崩溃?

exc-bad-access core-data ios

5
推荐指数
1
解决办法
5210
查看次数

Core Data Fetch上的EXC_BAD_ACCESS(代码= 1,地址= 0x10)

我得到一个间歇性的错误,证明很难调试.

我从以下方法得到以下错误

Core Data Fetch上的EXC_BAD_ACCESS(代码= 1,地址= 0x10)

class func getAll(context: NSManagedObjectContext) -> [Tag] {
    var returnValue: [Tag] = []
    do {
        let fetchRequest = NSFetchRequest(entityName: Tag.entityName())
        returnValue = try context.executeFetchRequest(fetchRequest) as! [Tag]
    } catch {
    }
    return returnValue
}
Run Code Online (Sandbox Code Playgroud)

这个错误是间歇性的,并且只发生在每几百个会话中,但是出现频繁,我需要处理它.代码中断了returnvalue = try context.execute...

  • 从调试来看,我fetchRequest的不是nil
  • context的不是nil
  • returnValue的默认值为空数组
  • 我的backgroundContext在后台线程上运行

我已经打开了NSZombieFlag来试图查看某个内存是否在某个地方被释放然后被访问,但是我对这导致了什么感到难过.任何想法或见解将不胜感激.

exc-bad-access core-data ios swift

5
推荐指数
1
解决办法
1824
查看次数