Описание тега exc-bad-access

EXC_BAD_ACCESS - фатальная ошибка, связанная с управлением памятью в macOS и iOS.

Это своего рода сбой, который происходит, когда программа пытается получить доступ к памяти (включая, но не ограничиваясь ими, объекты Objective-C), которые она освободила или никогда не выделяла изначально.

Правильное имя EXC_BAD_ACCESSне EXEC; "EXC"Означает" исключение ", а именно исключение ядра Mach (это означает, что ядру не нравится то, что делает ваш процесс; это не то же самое, что паника ядра). Это не исключение C++ или Objective-C, поэтому его не уловить.

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

Чтобы предотвратить появление этой ошибки:

  • Практикуйте хорошее управление памятью
  • Запустите статический анализатор в Xcode, чтобы найти ошибки
  • Запустите инструменты с шаблоном Zombies, чтобы найти ошибки преждевременной смерти объекта