Без дополнительной информации трудно сказать, что здесь происходит.
EXC_BAD_ACCESS происходит при попытке доступа к недопустимой памяти. Обычно это происходит из-за чрезмерного освобождения или недооценки объекта.
Освежите свой разум с руководством по управлению памятью Cocoa и посмотрите эти страницы на CocoaDev
http://www.cocoadev.com/index.pl?DebuggingTechniques
http://www.cocoadev.com/index.pl?NSZombieEnabled
Там вы найдете множество методов, которые помогут вам отследить такие вещи, как EXC_BAD_ACCESS.
Статья NSZombileEnabled также содержит довольно хороший шаблон для файла .gdbinit, который будет настраивать загрузку глобальных точек останова и устанавливать некоторые переменные окружения при каждом запуске GDB. Я нахожу это очень, очень полезным.
Таким образом, когда у вас есть эти точки останова и NSZombieEnabled установлен на YES, вы не увидите EXC_BAD_ACCESS, вместо этого вы получите точку останова, на которой обычно произошел неправильный доступ, и сообщение в журнале по типу «релиз отправлен» в освобожденный экземпляр "или что-то подобное. Это должно точно определить, где вы ошиблись.