Я становлюсь наперченным
*** __ NSAutoreleaseNoPool (): Возразите 0x1961180 класса NSEvent, автовыпущенный без пула на месте - просто утечка
предупреждения во время времени выполнения и понятия не имеют, какова причина. Поверхностный Гуглит, указывают, что это - символ, на котором я могу повредиться с XCode, но добавление его как символьная точка останова через Выполненный> Справляется, Точки останова> Добавляют Символьную Точку останова, или просто через окно управления точками останова, результаты в точке останова с - рядом с ним вместо проверки, которую я беру, чтобы означать, что это - символ, который не может быть найден.
Я попытался добавить символ "__ NSAutoreleaseNoPool" с двумя символами нижнего подчеркивания, одним подчеркиванием, и теперь я просто чувствую себя глупым. Ошибки продолжают регистрироваться, и никакие точки останова не поражены. Любые указатели для повреждения на символах Obj-C или отладки этого ценились бы.
[РЕДАКТИРОВАНИЕ: после, возможно, 10 (еще 10, таким образом, пара дюжины общего количества, включая по крайней мере два перезапуска XCode) работает, я получил "Незаконченную точку останова 9 - "__, NSAutoreleaseNoPool", разрешенный" распечатанный к моей консоли и точке останова, начал работать. Там какой-либо путь состоит в том, чтобы вынудить незаконченную точку останова на самом деле решить?]
Похоже, вы где-то используете Какао в потоке, а не обертываете тело потока пулом автозапуска. Вам, вероятно, не нужно использовать точки останова, чтобы найти это. Выполняете ли вы какой-либо detachNewThreadSelector?
Проблема здесь проста: вы выпускаете без пула. Обычно это происходит в инструментах командной строки, написанных для Foundation. Просто добавьте следующий код в ваш main ()
: (Несущественные части опущены)
int main (…) {
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
/// Your code goes here.
[pool drain]; // This one might not strictly speaking be neccessary.
[pool release];
return 0;
}
Изменить: Если вы не создаете инструмент командной строки, скорее всего, вы делаете что-то непослушное; но тем не менее: если у вас есть код, который вы вызываете до NSApplicationMain ()
, вам необходимо заключить его в тот же базовый код, опустошив и освободив пул перед вызовом NSApplicationMain
.