Как решить проблему выделения памяти в разработке iphone? - PullRequest
2 голосов
/ 24 февраля 2010

Я создаю простое приложение на основе навигации с графическим интерфейсом в iphone. Когда это приложение запускается в моем устройстве IPHONE, оно показывает следующую ошибку,

Class_Name(427,0x383772d8) malloc: *** mmap(size=2388660224) failed (error code=12)
*** error: can't allocate region
*** set a breakpoint in malloc_error_break to debug
Program received signal:  “EXC_BAD_ACCESS”.

Как решить вышеуказанную проблему?

Ответы [ 3 ]

4 голосов
/ 24 февраля 2010

Вы запросили выделение памяти в 2 ГБ, что является большим объемом памяти, чем доступно, поэтому malloc() завершается неудачей.

0 голосов
/ 24 февраля 2010

Одна вещь, которая действительно поможет вам, это установить символическую точку останова на malloc_error_break

Инструкции здесь . Я бы рекомендовал добавить это к вашим глобальным контрольным точкам, чтобы они устанавливались во всех ваших проектах ... это очень полезно.

0 голосов
/ 24 февраля 2010

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

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