Я разрабатываю приложение Какао, и время от времени при запуске моего приложения в XCode я получаю следующие виды сообщений в консоли отладки:
<
Имя моего приложения >
(952,0xb0103000) malloc: free_garbage: garbage ptr = 0x107b2f0, имеет ненулевой refcount = 1
Я включил MallocStackLogging и NSZombieEnabled и сделал malloc_history для нескольких из этих адресов и получил следы, аналогичные приведенным внизу.
Кажется, что общий поток ссылается на NSPopupButtonCell во всех блоках с ошибкой.
Полагаю, что это что-то делает, если что-то CFReserved где-то, но не выпущено или не сделано для сбора мусора.
A) С большей вероятностью это будет ошибка программирования с моей стороны или что-то в каркасе, которое еще не было должным образом обновлено для GC?
B) Каковы последствия проблемы, провоцирующей это сообщение, если таковые имеются? то есть мне нужно обратить внимание на это сообщение или я могу просто проигнорировать его?
Позвоните [2] [arg = 48]: thread_a003d720
| начать | главная | NSApplicationMain |
- [NSApplication run] | - [NSApplication nextEventMatchingMask: tillDate: inMode: dequeue:]
| _DPSNextEvent |
BlockUntilNextEventMatchingListInMode
| ReceiveNextEventCommon |
RunCurrentEventLoopInMode |
CFRunLoopRunInMode |
CFRunLoopRunSpecific |
__CFRunLoopDoObservers | _handleWindowNeedsDisplay | - [NSWindow displayIfNeeded] | - [NSView
displayIfNeeded] | - [NSView
_displayRectIgnoringOpacity: isVisibleRect: rectIsVisibleRectForView:]
| - [NSThemeFrame
_recursiveDisplayRectIfNeededIgnoringOpacity: isVisibleRect: rectIsVisibleRectForView: Topview:]
| - [NSView
_recursiveDisplayRectIfNeededIgnoringOpacity: isVisibleRect: rectIsVisibleRectForView: Topview:]
| - [NSView
_recursiveDisplayRectIfNeededIgnoringOpacity: isVisibleRect: rectIsVisibleRectForView: Topview:]
| - [NSView
_recursiveDisplayRectIfNeededIgnoringOpacity: isVisibleRect: rectIsVisibleRectForView: Topview:]
| - [NSView
_recursiveDisplayRectIfNeededIgnoringOpacity: isVisibleRect: rectIsVisibleRectForView: Topview:]
| - [NSView
_recursiveDisplayRectIfNeededIgnoringOpacity: isVisibleRect: rectIsVisibleRectForView: Topview:]
| - [NSView
_recursiveDisplayAllDirtyWithLockFocus: visRect:]
| - [NSView _drawRect: clip:] |
- [NSControl drawRect:] | - [NSMenuItemCell drawWithFrame: inView:] |
- [NSPopUpButtonCell _drawIndicatorWithFrame: inView:] | - [NSPopUpButtonCell _indicatorFrameForCellFrame: inView:] | - [NSPopUpButtonCell _indicatorFrameForCellFrame: isFlipped:]
| - [NSPopUpButtonCell
_defaultIndicatorImage] | - [NSPopUpButtonCell _coreUIDefaultIndicatorImage] | + [NSImage imageNamed:] | + [NSImage _coreUIImageWithName:] | + [NSImage _coreUIImageWithBaseName: состояние: backgroundStyle:]
| - [NSCoreUIImageRep
imageWithoutEffectsRect] |
SizeForImageOptions |
CUICopyMeasurements |
CUIRenderer :: CopyMeasurements (CGRect,
CGContext *, __CFDictionary const *,
__CFArray const *) | CUIRenderer :: CopyImageMeasurements (длинные,
CUIContext const *, __CFArray const *,
__CFDictionary *) | CreateImageSourceFromDisk (длинный,
CUIContext const *, long *, без знака
символ *) |
CUISharedArtReader :: CreateImageSource (длинный)
| CGImageSourceCreateWithDataProvider
| CGImageReadCreateWithProvider |
CGImageReadCreateWithData |
_CGImageReadCreate | _CFRuntimeCreateInstance | CFAllocatorAllocate |
auto_zone_allocate_object Вызов [4]
[arg = 0]: thread_b0103000 | thread_start
| _pthread_start |
auto_collection_thread (void *) |
auto_collect_with_mode (Auto :: Zone *,
без знака int) |
auto_collect_internal (Auto :: Zone *,
INT)