2013-04-01 2 views
7

Всякий раз, когда я использую ASIHTTPRequest для создания веб-сервиса звонков я случайно получаю следующее сообщение аварии:страница бассейн Autorelease поврежден

autorelease pool page 0x9418000 corrupted 
    magic a1a1a100 4f545541 454c4552 21455341 
    pthread 0xb0103000 

Мой код ARC-Fied и используется -fno-ObjC-дуги для .m файлов класса ASIHTTP.

У кого-нибудь есть идея об этом или кто-либо сталкивался с подобным вопросом раньше? Заранее спасибо!

+1

Я надеюсь, что это '-fno-objc-arc' не' -fno -objc -arc' – newacct

ответ

3

Это, вероятно, указывает на то, что вы теряете память в другом месте. Я бы начал с включения memory diagnostics и поиска ошибок. Наиболее вероятное место для возникновения таких ошибок - это код C, особенно при использовании C-массивов или C-строк. Возможно, вы пишете за пределами выделенной памяти или записываете в память после того, как вы ее освободили.

Временами были compiler bugs, которые могли бы вызвать такую ​​проблему, но они очень редки, и я бы сильно заподозрил ваш код в первую очередь.

0

Как указал Роб, это, скорее всего, свидетельствует о том, что вы злоупотребляете памятью в другом месте. Чтобы включить диагностику управления памятью по состоянию на Xcode 8:

  • Щелкните по меню схемы в Xcode и выберите «Изменить схему ...» внизу.
  • На шаге «Запуск» перейдите на вкладку «Диагностика».
  • В разделе «Управление памятью» включите все четыре опции. Обычно я нахожу Guard Malloc, чтобы выявить большинство проблем, но все они могут быть полезны.
Смежные вопросы