C Valgrind内存泄漏这是什么错误?
每当我运行完整的valgrind内存泄漏检查时,我都会遇到这个错误,我真的不知道这个错误的来源在哪里。我的代码正在运行,看起来是正确的,但从那以后我一直遇到这个错误。任何建议都将不胜感激,谢谢C Valgrind内存泄漏这是什么错误?,c,macos,memory-leaks,valgrind,suppression,C,Macos,Memory Leaks,Valgrind,Suppression,每当我运行完整的valgrind内存泄漏检查时,我都会遇到这个错误,我真的不知道这个错误的来源在哪里。我的代码正在运行,看起来是正确的,但从那以后我一直遇到这个错误。任何建议都将不胜感激,谢谢 ==2312== HEAP SUMMARY: ==2312== in use at exit: 26,325 bytes in 190 blocks ==2312== total heap usage: 20,531 allocs, 20,341 frees, 197,089 bytes al
==2312== HEAP SUMMARY:
==2312== in use at exit: 26,325 bytes in 190 blocks
==2312== total heap usage: 20,531 allocs, 20,341 frees, 197,089 bytes allocated
==2312==
==2312== Searching for pointers to 190 not-freed blocks
==2312== Checked 9,805,752 bytes
==2312==
==2312== 272 (80 direct, 192 indirect) bytes in 1 blocks are definitely lost in loss record 53 of 67
==2312== at 0x100009EBB: malloc (in /usr/local/Cellar/valgrind/3.11.0/lib/valgrind/vgpreload_memcheck-amd64-darwin.so)
==2312== by 0x1001C44A2: __Balloc_D2A (in /usr/lib/system/libsystem_c.dylib)
==2312== by 0x1001C4DEB: __d2b_D2A (in /usr/lib/system/libsystem_c.dylib)
==2312== by 0x1001C1443: __dtoa (in /usr/lib/system/libsystem_c.dylib)
==2312== by 0x1001EA07A: __vfprintf (in /usr/lib/system/libsystem_c.dylib)
==2312== by 0x10021335C: __v2printf (in /usr/lib/system/libsystem_c.dylib)
==2312== by 0x1001E901D: vfprintf_l (in /usr/lib/system/libsystem_c.dylib)
==2312== by 0x1001E6EB7: printf (in /usr/lib/system/libsystem_c.dylib)
==2312== by 0x100001B02: main (in ./tldmonitor)
==2312==
==2312== LEAK SUMMARY:
==2312== definitely lost: 80 bytes in 1 blocks
==2312== indirectly lost: 192 bytes in 5 blocks
==2312== possibly lost: 0 bytes in 0 blocks
==2312== still reachable: 0 bytes in 0 blocks
==2312== suppressed: 26,053 bytes in 184 blocks
==2312==
==2312== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 16 from 16)
--2312--
--2312-- used_suppression: 1 OSX1011:21-Leak /usr/local/Cellar/valgrind/3.11.0/lib/valgrind/default.supp:944 suppressed: 4,096 bytes in 1 blocks
--2312-- used_suppression: 1 OSX1011:15-Leak /usr/local/Cellar/valgrind/3.11.0/lib/valgrind/default.supp:886 suppressed: 4,096 bytes in 1 blocks
--2312-- used_suppression: 10 OSX1011:17-Leak /usr/local/Cellar/valgrind/3.11.0/lib/valgrind/default.supp:906 suppressed: 3,392 bytes in 55 blocks
--2312-- used_suppression: 3 OSX1011:16-Leak /usr/local/Cellar/valgrind/3.11.0/lib/valgrind/default.supp:897 suppressed: 2,816 bytes in 44 blocks
--2312-- used_suppression: 2 OSX1011:4-Leak /usr/local/Cellar/valgrind/3.11.0/lib/valgrind/default.supp:778 suppressed: 4,152 bytes in 2 blocks
--2312-- used_suppression: 2 OSX1011:19-Leak /usr/local/Cellar/valgrind/3.11.0/lib/valgrind/default.supp:924 suppressed: 2,592 bytes in 2 blocks
--2312-- used_suppression: 7 OSX1011:7-Leak /usr/local/Cellar/valgrind/3.11.0/lib/valgrind/default.supp:808 suppressed: 1,680 bytes in 22 blocks
--2312-- used_suppression: 11 OSX1011:18-Leak /usr/local/Cellar/valgrind/3.11.0/lib/valgrind/default.supp:915 suppressed: 2,312 bytes in 11 blocks
--2312-- used_suppression: 20 OSX1011:10-Leak /usr/local/Cellar/valgrind/3.11.0/lib/valgrind/default.supp:839 suppressed: 2,461 bytes in 39 blocks
--2312-- used_suppression: 2 OSX1011:8-Leak /usr/local/Cellar/valgrind/3.11.0/lib/valgrind/default.supp:819 suppressed: 520 bytes in 2 blocks
--2312-- used_suppression: 2 OSX1011:20-Leak /usr/local/Cellar/valgrind/3.11.0/lib/valgrind/default.supp:934 suppressed: 224 bytes in 5 blocks
==2312==
==2312== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 16 from 16)
生成抑制块后:
==2317== HEAP SUMMARY:
==2317== in use at exit: 26,325 bytes in 190 blocks
==2317== total heap usage: 20,531 allocs, 20,341 frees, 197,089 bytes allocated
==2317==
==2317== Searching for pointers to 190 not-freed blocks
==2317== Checked 9,805,752 bytes
==2317==
==2317== 272 (80 direct, 192 indirect) bytes in 1 blocks are definitely lost in loss record 53 of 67
==2317== at 0x100009EBB: malloc (in /usr/local/Cellar/valgrind/3.11.0/lib/valgrind/vgpreload_memcheck-amd64-darwin.so)
==2317== by 0x1001C44A2: __Balloc_D2A (in /usr/lib/system/libsystem_c.dylib)
==2317== by 0x1001C4DEB: __d2b_D2A (in /usr/lib/system/libsystem_c.dylib)
==2317== by 0x1001C1443: __dtoa (in /usr/lib/system/libsystem_c.dylib)
==2317== by 0x1001EA07A: __vfprintf (in /usr/lib/system/libsystem_c.dylib)
==2317== by 0x10021335C: __v2printf (in /usr/lib/system/libsystem_c.dylib)
==2317== by 0x1001E901D: vfprintf_l (in /usr/lib/system/libsystem_c.dylib)
==2317== by 0x1001E6EB7: printf (in /usr/lib/system/libsystem_c.dylib)
==2317== by 0x100001B02: main (in ./tldmonitor)
==2317==
==2317==
事实证明这是一个错误的泄漏,在linux虚拟机上测试了我的代码,没有错误。谢谢。事实证明这是一个错误的泄漏,在linux虚拟机上测试了我的代码,没有错误。谢谢。这是一个虚假的泄漏吗?我似乎根本无法在代码中跟踪问题。如果您不向我们显示您的代码。。。从那里理解一切不是那么容易。还可以使用valgrind--leak check=full--track origins=yes./program。总堆使用率:20531 allocs,20341 frees您应该从这里开始。可能的重复是错误的泄漏吗?我似乎根本无法在代码中跟踪问题。如果您不向我们显示您的代码。。。从那里理解一切不是那么容易。还可以使用valgrind--leak check=full--track origins=yes./program。不管怎样,堆的总使用率:20531 allocs,20341 frees你应该从这里开始。我在Mac OS X(Yosemite或El Capitan,我忘记了,但可能是El Capitan)上找到了一些内存滥用的问题,在那里我最终被迫得出结论,问题出在库中,而不是在调用库的代码中。得出问题出在“系统”中的结论的一个因素是,相同的代码在Linux下可以干净地工作。我还花了大量时间试图修改代码,这样就不会是我的错这真讨厌。够烦人的了,我遇到了一个类似的问题,就是双精度和浮动,然后打印出来。我将很快在linux服务器上进行测试,看看真正的问题是什么。我似乎搞不清楚到底发生了什么。我在Mac OS X(约塞米蒂或El Capitan,我忘了是哪一个,但可能是El Capitan)上找到了一些内存滥用的问题,我最后被迫得出结论,问题出在库中,而不是调用库的代码中。得出问题出在“系统”中的结论的一个因素是,相同的代码在Linux下可以干净地工作。我还花了大量时间试图修改代码,这样就不会是我的错这真讨厌。够烦人的了,我遇到了一个类似的问题,就是双精度和浮动,然后打印出来。我将很快在linux服务器上进行测试,看看真正的问题是什么。我似乎不知道发生了什么事。