2011-01-26 3 views
0

Мне нужен намек на то, где искать обнаружение сбоя с сообщением EXC_BAD_ACCESS, которое должно быть связано с вопросами «сохранить-освободить». Это происходит через мгновение ПОСЛЕ события viewDidAppear.iPhone EXC_BAD_ACCESS после события viewDidAppear

0 0x01285a63 in objc_msgSend 
1 0x0580e400 in ?? 
2 0x0105fb8d in _ CFAutoreleasePoolPop 
3 0x00022443 in -[NSAutoreleasePool release] 
4 0x002d3bf2 in _ UIApplicationHandleEvent 
5 0x018cca36 in PurpleEventCallback 
6 0x01105064 in __ CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ 
7 0x010656f7 in __CFRunLoopDoSource1 
8 0x01062983 in __CFRunLoopRun 
9 0x01062240 in CFRunLoopRunSpecific 
10 0x01062161 in CFRunLoopRunInMode 
11 0x002cafa8 in -[UIApplication _run] 
12 0x002d742e in UIApplicationMain 
13 0x00001ca0 in main at main.m:14 

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

ответ

3

Мне кажется, что пул авторесурсов пытается освободить объект, который уже освобожден. Думаю, NSZombie поможет найти объект.

EDIT: Для активации NSZombie выполните следующие действия:

  1. Получить информацию исполняемого файла.
  2. Перейдите на вкладку аргументов.
  3. В «Переменные должны быть установлены в среде:» секция добавить:

Имя: NSZombieEnabled Значение: ДА

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

+0

Сообщение было не таким подробным, но оно выполнило эту задачу, мне удалось выяснить проблему. Спасибо. – IssamTP

3

Не ответ, но подсказка - скомпилируйте приложение для симулятора, запустите Инструменты и добавьте инструмент выделения памяти с помощью «NSZombies enabled» из библиотеки. Запустите приложение в инструментах, пока вы не получите уведомление о отправленном сообщении объекту зомби.

+0

Спасибо, Зомби выполнил задание :) – IssamTP

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