私はCocoaアプリケーションを開発していますが、Xcodeで自分のアプリケーションを実行するたびに次のようなメッセージが表示されます。デバッグコンソール:Cocoaの開発:malloc:free_garbage:ppt = 0x18a15e0、refcount = 1のエラーが発生しない
<
マイアプリ名>
(952,0xb0103000)はmalloc:free_garbage:ガベージPTR = 0x107b2f0、持っているが、非ゼロの参照カウント= 1
は私がMallocStackLoggingとNSZombieEnabledオンにしていましたmalloc_historyこれらのアドレスのカップルについては、 e底。
一般的なスレッドは、エラーのあるすべてのブロックでNSPopupButtonCellを参照しているようです。
私の推測では、CFRetainedされているが、リリースされていないか、またはガベージコレクタブルにされています。
A)これは私の一部のプログラミングエラー、またはGC用に正しく更新されていないフレームワークの何かになりそうですか?
B)このメッセージを引き起こす問題の結果はどうなりますか?つまり、このメッセージに注意を払う必要があるのですか、それとも無視することはできますか?
[2] [arg = 48]:thread_a003d720 | start |メイン| NSApplicationMain | - [NSApplication run] | - [NSApplication nextEventMatchingMask:untilDate: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:state:backgroundStyle:] | - [NSCoreUIImageRep imageWithoutEffectsRect] | SizeForImageOptions | CUICopyMeasurements | CUIRenderer :: CopyMeasurements(CGRect、 CGContext *、__CFDictionary const *、 __CFArray const *)| CUIRenderer :: CopyImageMeasurements(long、 CUIContext const *、__CFArray const *、 __CFDictionary *)| CreateImageSourceFromDisk(long、 CUIContext const *、long *、unsigned char *)| CUISharedArtReader :: CreateImageSource(long) | 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 *、 unsigned int)| auto_collect_internal(オート::ゾーン*、 INT)
それはまさに私が知る必要があったことであり、そのアプリの見た目はメッセージを取り除く良い方法に見えます。ありがとう! –
QuietXcodeは、Xcodeが生成したゼロ以外の保持カウントメッセージだけを静かにしているように見えますが、私のアプリケーションからのメッセージではありません。 しかし、まだインストールする価値があります。 –