Obj-C: strdup フレームの Malloc 48 バイトのメモリ リーク 質問する

Obj-C: strdup フレームの Malloc 48 バイトのメモリ リーク 質問する

私のアプリでは、複数のメモリ リークが発生しています。オブジェクトは 48 バイトの Malloc で、常に原因となる呼び出し元の strdup から発生します。オブジェクトの履歴には Malloc されたことのみが示され、その他の保持や解放は示されません。スタック トレースには私のコードは表示されません。私が見つけることができる関連性のある部分は次のとおりです。

  10 UIKit _UIGestureRecognizerSendActions
   9 UIKit -[UIScrollView handlePan:]
   8 UIKit -[UIScrollView _endPanWithEvent:]
   7 UIKit -[UIScrollView(Static) _startTimer:]
   6 CoreFoundation CFNotificationCenterAddObserver
   5 CoreFoundation _CFXNotificationRegisterObserver
   4 libnotify.dylib notify_register_dispatch
   3 libnotify.dylib notify_register_mach_port
   2 libnotify.dylib token_table_add
   1 libsystem_c.dylib strdup
   0 libsystem_c.dylib malloc

マップ ビューをスクロールしているときに発生するようですが、スタック内でコードが参照されていないため、どのように進めればよいかわかりません。このリークを診断するにはどうすればよいでしょうか?

さらに詳しい情報が必要な場合はお知らせください。

よろしく、ニック

ベストアンサー1

それが「たった」48バイトで、すべての証拠がシステムフレームワーク内のフレームを指し示しており(つまり、割り当てがコードに公開されることはありません)、その数が数万個もなければ、私は(a)それについて心配することはないと思います。あまりにもあまり多くはありませんが、私は(b)すぐにバグを報告しますhttp://bugreport.apple.com/

アプリケーションのバイナリと、問題を再現する方法の説明を添付してください。

おすすめ記事