ソースをプロファイリングしています。を実行すると、終了時にまだ生きているいくつかの割り当てが表示されますvalgrind
。
要約は次のとおりです。
$ valgrind --track-origins=yes --show-reachable=yes --leak-check=full $BINARY
...
==20235== LEAK SUMMARY:
==20235== definitely lost: 0 bytes in 0 blocks
==20235== indirectly lost: 0 bytes in 0 blocks
==20235== possibly lost: 0 bytes in 0 blocks
==20235== still reachable: 20,228 bytes in 37 blocks
==20235== suppressed: 0 bytes in 0 blocks
==20235==
責任のあるライブラリは次のとおりです。
dyld
: すべての 81 の malloc には、次のような共通の呼び出しがあります: (手がかりはありません)
{libsystem_c, libsystem_notify, libdispatch}.dylib
: 10 個すべての malloc には、次のような共通の呼び出しがあります。
localtime(...)
で定義されている を初期化して返すためにtime.h
使用しますが、割り当てていないため、自分ですべきではありません。tzset(...)
struct tm*
free
まだ到達可能なこれらの 20,228 バイトを回復するにはどうすればよいですか?
アップデート
Mac OS X を実行しています