2015-07-04 3 views
1

Я получаю ошибку EXC_BAD_ACCESS каждый раз, когда я запускаю определенный сеанс в своем приложении. Благодаря этим двум ссылкам, я узнал, что после включения NSZombies вы можете быстрее снять EXC_BAD_ACCESS.[CFNumber сохранить]: сообщение отправлено на освобожденный экземпляр

How do I set up NSZombieEnabled in Xcode 4?

http://www.touch-code-magazine.com/how-to-debug-exc_bad_access/

Я использую это приложение AdHoc и тестирования АПЧРК. http://www.raywenderlich.com/13511/how-to-create-an-app-like-instagram-with-a-web-service-backend-part-12

Когда приложение загружается, отображается UIScrollView с изображениями. Когда вы нажимаете на картинку, на полном экране этого снимка запускается push-сег. Приложение отлично работает на iPad, но на моем iPhone 4 он падает каждый раз перед нажатием кнопки. Я застрял на этом неделю. Я только что узнал, что NSZombies есть и как включить их: после того, как я включаю им Dubber гласит:

2015-07-03 22:26:36.170 iReporter[1878:60b] *** -[CFNumber retain]: message sent to deallocated instance 0x172e6210 

Screen shot of the debugger after the picture is tapped that causes crash (after enable NSZombies)

После обучения, как ввести «бть» в отладчик из поставленного получить больше информации, это то, что отладчик читает сейчас;

* thread #1: tid = 0x7246e, 0x2f1e515c CoreFoundation`___forwarding___ + 540, queue = 'com.apple.main-thread', stop reason = EXC_BREAKPOINT (code=EXC_ARM_BREAKPOINT, subcode=0xdefe) 
* frame #0: 0x2f1e515c CoreFoundation`___forwarding___ + 540 
frame #1: 0x2f134768 CoreFoundation`_CF_forwarding_prep_0 + 24 
frame #2: 0x2f11e5a8 CoreFoundation`+[__NSDictionaryM __new:::::] + 536 
frame #3: 0x2f1212f0 CoreFoundation`-[__NSPlaceholderDictionary initWithObjects:forKeys:count:] + 240 
frame #4: 0x2f125dcc CoreFoundation`+[NSDictionary dictionaryWithObjectsAndKeys:] + 372 
frame #5: 0x000c96a4 iReporter`-[StreamPhotoScreen viewDidLoad](self=0x172e7560, _cmd=0x32053af3) + 256 at StreamPhotoScreen.m:20 
frame #6: 0x31a044aa UIKit`-[UIViewController loadViewIfRequired] + 518 
frame #7: 0x31a04268 UIKit`-[UIViewController view] + 24 
frame #8: 0x31b9036a UIKit`-[UINavigationController _startCustomTransition:] + 634 
frame #9: 0x31aadd62 UIKit`-[UINavigationController _startDeferredTransitionIfNeeded:] + 418 
frame #10: 0x31aadb6c UIKit`-[UINavigationController __viewWillLayoutSubviews] + 44 
frame #11: 0x31aadb04 UIKit`-[UILayoutContainerView layoutSubviews] + 184 
frame #12: 0x319ffd58 UIKit`-[UIView(CALayerDelegate) layoutSublayersOfLayer:] + 380 
frame #13: 0x3167d62a QuartzCore`-[CALayer layoutSublayers] + 142 
frame #14: 0x31678e3a QuartzCore`CA::Layer::layout_if_needed(CA::Transaction*) + 350 
frame #15: 0x31678ccc QuartzCore`CA::Layer::layout_and_display_if_needed(CA::Transaction*) + 16 
frame #16: 0x316786de QuartzCore`CA::Context::commit_transaction(CA::Transaction*) + 230 
frame #17: 0x316784ee QuartzCore`CA::Transaction::commit() + 314 
frame #18: 0x31a033e0 UIKit`_UIApplicationHandleEventQueue + 8232 
frame #19: 0x2f1ae20a CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 14 
frame #20: 0x2f1ad6da CoreFoundation`__CFRunLoopDoSources0 + 206 
frame #21: 0x2f1abece CoreFoundation`__CFRunLoopRun + 622 
frame #22: 0x2f116ebe CoreFoundation`CFRunLoopRunSpecific + 522 
frame #23: 0x2f116ca2 CoreFoundation`CFRunLoopRunInMode + 106 
frame #24: 0x3401c662 GraphicsServices`GSEventRunModal + 138 
frame #25: 0x31a6314c UIKit`UIApplicationMain + 1136 
frame #26: 0x000c699c iReporter`main(argc=1, argv=0x27d44cec) + 108 at main.m:16 
(lldb) 

Если мне нужно размещать больше кода/информации может быть следующим образом: (часть кода, что редактор основные моменты на аварии иногда и говорит мне его EXC_BAD_ACCESS_)

[api commandWithParams:[NSMutableDictionary dictionaryWithObjectsAndKeys:@"stream", @"command", IdPhoto,@"IdPhoto", nil] onCompletion:^(NSDictionary *json) { 

Все, что я пытаюсь для этого нужно вызвать вышеупомянутые данные, используя j son и загрузить его через push-сегу. Он отлично работает на iPad, но каждый раз падает на iPhone 4?

+0

Вы нашли решение, как его отладить? –

ответ

1

Найдите объявление свойства NSNumber и проверьте, неправильно ли вы указали тип assign.

Смежные вопросы