OSX에서 Valgrind가이 메모리 누수를보고합니다. 어디에서 왔습니까? 코드는 g ++로 C++ 코드로 컴파일됩니다 (함수 오버로딩의 경우이 작업을 수행함).OSX Valgrind에서이 메모리 누수를보고합니다. 어디에서 오는 것입니까?
==13088== 18 bytes in 1 blocks are definitely lost in loss record 82 of 264 ==13088== at 0x1F25DC: malloc_zone_malloc (vg_replace_malloc.c:267) ==13088== by 0xA1AEDA: malloc_set_zone_name (in /usr/lib/system/libsystem_c.dylib) ==13088== by 0xA1B4A7: _malloc_initialize (in /usr/lib/system/libsystem_c.dylib) ==13088== by 0xA1B5DD: malloc_good_size (in /usr/lib/system/libsystem_c.dylib) ==13088== by 0x4EFA6E: __CFStringChangeSizeMultiple (in /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation) ==13088== by 0x4F3900: CFStringAppend (in /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation) ==13088== by 0x506F91: _convertToURLRepresentation (in /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation) ==13088== by 0x60F963: _CFURLInit (in /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation) ==13088== by 0x4FF268: CFURLCreateWithFileSystemPathRelativeToBase (in /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation) ==13088== by 0x4FF8EE: CFURLCreateWithFileSystemPath (in /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation) ==13088== by 0x515735: _CFBundleGetMainBundleAlreadyLocked (in /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation) ==13088== by 0x515663: CFBundleGetMainBundle (in /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation) ==13088== by 0x539533: cacheBundleInfo (in /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation) ==13088== by 0x5394B3: _CFAppVersionCheckLessThan (in /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation) ==13088== by 0x56C35B: __CFInitialize (in /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation) ==13088== by 0x8FE11243: ImageLoaderMachO::doImageInit(ImageLoader::LinkContext const&) (in /usr/lib/dyld) ==13088== by 0x8FE10CB3: ImageLoaderMachO::doInitialization(ImageLoader::LinkContext const&) (in /usr/lib/dyld) ==13088== by 0x8FE0E21F: ImageLoader::recursiveInitialization(ImageLoader::LinkContext const&, unsigned int, ImageLoader::InitializerTimingList&) (in /usr/lib/dyld) ==13088== by 0x8FE0E1B5: ImageLoader::recursiveInitialization(ImageLoader::LinkContext const&, unsigned int, ImageLoader::InitializerTimingList&) (in /usr/lib/dyld) ==13088== by 0x8FE0F1BF: ImageLoader::runInitializers(ImageLoader::LinkContext const&, ImageLoader::InitializerTimingList&) (in /usr/lib/dyld) ==13088== by 0x8FE03655: dyld::initializeMainExecutable() (in /usr/lib/dyld) ==13088== by 0x8FE07EF1: dyld::_main(macho_header const*, unsigned long, int, char const**, char const**, char const**) (in /usr/lib/dyld) ==13088== by 0x8FE012EE: dyldbootstrap::start(macho_header const*, int, char const**, long, macho_header const*) (in /usr/lib/dyld) ==13088== by 0x8FE01062: _dyld_start (in /usr/lib/dyld) ==13088== by 0xFFF: ???
편집 : 또한이 메모리를 어떻게 해제합니까?
비슷한 질문 : http://stackoverflow.com/questions/5226691/valgrind-mac-os-mem-leak – bames53
관련 내용 : http://www.mail-archive.com/[email protected] sourceforge.net/msg03053.html – bames53
@ bames53의 차이점은이 누설은 '확실히 잃어버린'범주에 있지만 '아직 도달 할 수 없음'이라는 것입니다. – chacham15