如何在分析项目时解决dyld和localtime泄漏问题?
我在描述我的来源。 当我运行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都有通用调用:
在time.h
定义的localtime(...)
使用tzset(...)
来初始化并返回一个struct tm*
,我不应该free
自己,因为我没有分配它。
如何恢复仍可访问的这20,228个字节?
UPDATE
我正在运行Mac OS X.