EXC плохой доступ (код=1, адрес=0x0) при переходе в отладчик

мое приложение падает каждый раз, когда я пытаюсь перешагнуть через вызов. Без отладчика он работает нормально.

кроме того, когда я запускаю приложение в симуляторе, оно отлично работает с отладчиком или без него.

недавно я обновил свою Mac OS X 10.8 до 10.9 (Mavericks). До обновления проблем не было.

что вызывает проблему и как я могу это исправить?

ниже находится задняя трассировка. Мое приложение использует ARC. Я включил zombies и добавил исключение точка останова, но не зомби, где обнаружено и исключение точка останова никогда не срабатывает.

    * thread #1: tid = 0x2503, 0x00000000, queue = 'com.apple.main-thread, stop reason = EXC_BAD_ACCESS (code=1, address=0x0)
        frame #0: 0x00000000
        frame #1: 0x35e170c4 UIKit`-[UIApplication sendAction:to:from:forEvent:] + 72
        frame #2: 0x35e17076 UIKit`-[UIApplication sendAction:toTarget:fromSender:forEvent:] + 30
        frame #3: 0x35e17054 UIKit`-[UIControl sendAction:to:forEvent:] + 44
        frame #4: 0x35e1690a UIKit`-[UIControl(Internal) _sendActionsForEvents:withEvent:] + 502
        frame #5: 0x35e16e00 UIKit`-[UIControl touchesEnded:withEvent:] + 488
        frame #6: 0x35d3f5f0 UIKit`-[UIWindow _sendTouchesForEvent:] + 524
        frame #7: 0x35d2c800 UIKit`-[UIApplication sendEvent:] + 380
        frame #8: 0x35d2c11a UIKit`_UIApplicationHandleEvent + 6154
        frame #9: 0x37a1e5a2 GraphicsServices`_PurpleEventCallback + 590
        frame #10: 0x37a1e1d2 GraphicsServices`PurpleEventCallback + 34
        frame #11: 0x33ef9172 CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 34
        frame #12: 0x33ef9116 CoreFoundation`__CFRunLoopDoSource1 + 138
        frame #13: 0x33ef7f98 CoreFoundation`__CFRunLoopRun + 1384
        frame #14: 0x33e6aebc CoreFoundation`CFRunLoopRunSpecific + 356
        frame #15: 0x33e6ad48 CoreFoundation`CFRunLoopRunInMode + 104
        frame #16: 0x37a1d2ea GraphicsServices`GSEventRunModal + 74
        frame #17: 0x35d80300 UIKit`UIApplicationMain + 1120
        frame #18: 0x000faac8 MyApp`main(argc=1, argv=0x2fd0fd08) + 116 at main.m:16

EDIT:

у меня последняя версия Xcode 5.0.1 (5A2053).

Я создал новое приложение с нуля и запустил его без проблем. Затем я поставил точку останова в ViewController ' s viewDidLoad и попытался перешагнуть. Здесь у меня еще одна авария

* thread #1: tid = 0x2503, 0x3bb9d7c4 libobjc.A.dylib`objc_msgSendSuper2 + 4, queue = 'com.apple.main-thread, stop reason = EXC_BAD_ACCESS (code=1, address=0x4)
    frame #0: 0x3bb9d7c4 libobjc.A.dylib`objc_msgSendSuper2 + 4
    frame #1: 0x000b913a test`-[ViewController viewDidLoad](self=0x1cda5c70, _cmd=0x361bd5db) + 62 at ViewController.m:19
    frame #2: 0x35d4b594 UIKit`-[UIViewController loadViewIfRequired] + 364
    frame #3: 0x35d8bd78 UIKit`-[UIWindow addRootViewControllerViewIfPossible] + 64
    frame #4: 0x35d87aec UIKit`-[UIWindow _setHidden:forced:] + 364
    frame #5: 0x35dc91e8 UIKit`-[UIWindow makeKeyAndVisible] + 60
    frame #6: 0x35d8c83e UIKit`-[UIApplication _callInitializationDelegatesForURL:payload:suspended:] + 1666
    frame #7: 0x35d8484a UIKit`-[UIApplication _runWithURL:payload:launchOrientation:statusBarStyle:statusBarHidden:] + 698
    frame #8: 0x35d2cc38 UIKit`-[UIApplication handleEvent:withNewEvent:] + 1004
    frame #9: 0x35d2c6cc UIKit`-[UIApplication sendEvent:] + 72
    frame #10: 0x35d2c11a UIKit`_UIApplicationHandleEvent + 6154
    frame #11: 0x37a1e5a2 GraphicsServices`_PurpleEventCallback + 590
    frame #12: 0x37a1e1d2 GraphicsServices`PurpleEventCallback + 34
    frame #13: 0x33ef9172 CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 34
    frame #14: 0x33ef9116 CoreFoundation`__CFRunLoopDoSource1 + 138
    frame #15: 0x33ef7f98 CoreFoundation`__CFRunLoopRun + 1384
    frame #16: 0x33e6aebc CoreFoundation`CFRunLoopRunSpecific + 356
    frame #17: 0x33e6ad48 CoreFoundation`CFRunLoopRunInMode + 104
    frame #18: 0x35d83484 UIKit`-[UIApplication _run] + 668
    frame #19: 0x35d80300 UIKit`UIApplicationMain + 1120
    frame #20: 0x000b93bc test`main(argc=1, argv=0x2fd51d30) + 116 at main.m:16
    frame #21: 0x3bfd9b20 libdyld.dylib`start + 4

EDIT 2:

Грег Клейтон в Xcode 5 аварийно завершает работу при запуске приложения на устройстве предлагает следующее

Others have seen this issue.
A few things to try:
1 - Reboot your device and try again. The theory is an old developer disk image is already mounted and won't be unmounted until you reboot.
2 - Re-install the OS on the device

Hopefully #1 fixes your issue. Others have done #2 and had their issue fixed, but hopefully it doesn't require an OS re-install.

Я сделал и это не помогло.

Я попытался использовать другое устройство, и это имело значение. Исключения все еще существуют, если я использую iPod Touch с iOS 6.1, но iPad с iOS 7.0.2 работает нормально.

Итак, похоже, что проблема связана с версией iOS, установленной на устройстве. Я до сих пор не знаю, как это исправить.

EDIT 3:

моя версия инструментов командной строки соответствует моей версии Xcode (у меня есть только одна версия инструментов командной строки, на самом деле).

проблемы, вероятно, не связаны с отлаживаемым кодом. Он аварийно завершает работу с недавно созданным приложением Single View, созданным Xcode. И он падает при переходе через тривиальный код:

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
}

Я попросил на форуме разработчиков Apple, и получил следующий ответ от Джейсона в распоряжении:

мы отслеживаем ошибка, которая звучит как то, что вы видите здесь. Это тонкое время проблема, требующая немного более медленного хост-компьютера или немного более медленное устройство для удара. Это в первую очередь iPhone 4 и аналогичных это увидит это с iOS 7. С iOS 6, iPhone 4 и iPhone 3GS устройства, скорее всего, испытают это. ... Этот вопрос будет только произошло с Xcode 5.0.1.

Итак, похоже, что это ошибка в Xcode.

3 ответов


Ok, это определенно ошибка в Xcode 5.0.1.

Это подтверждает Джейсон Моленда на форуме разработчиков Apple. Единственное решение на данный момент-использовать более старая версия Xcode и более старая версия Mac OS X, потому что Xcode 5 требует OS X 10.8.4.

нет объявленного ETA для исправления этой проблемы. Прямой вопрос об ETA на форуме разработчиков Apple остается без ответа.

обновление 06-Nov-2013:

сегодня предварительная версия Xcode 5.0.2 стала доступна на developer.apple.com. Эта версия исправляет (среди прочего) следующую проблему:

отладка приложения на устройстве под управлением iOS 6.x вызывает приложение для сбоя с помощью EXC_BAD_ACCESS.  Это уже решено. (15310896)

Я установил новую версию и проблема действительно ушла. Теперь я могу отлаживать приложения на моей 6.X снова устройств.

Джейсон в распоряжении в тема на форуме разработчиков Apple сказал:

Мне сказали, что вы можете отправлять приложения в app store с помощью этого Xcode 5.0.2 семя.


подтверждаю, у меня точно такая же ошибка. Мое приложение работало нормально. После обновления до Xcode 5 и Mavericks код работает, но когда я отлаживаю, я не могу перешагнуть через определенные строки, поскольку я получаю EXC_BAD_ACCESS.

поэтому я должен помнить строки, которые я не могу пройти с шагом и поставить точку останова после этих строк или использовать продолжить линию, чтобы перепрыгнуть через эти проблемные линии.

PS

загрузить Xcode 5.0.2 GM seed и отладка намного лучше. Я провел 30 минут с новым В Xcode до сих пор.


пожалуйста, войдите на сайт разработчика и загрузите Xcode 5.0.2 GM seed, Он исправил эту ошибку.
Вижу заметки.

Обновление 12-Ноя-2013
Xcode 5.0.2 выпущен, вы можете скачать его из Dev Center