c-Valgrind内存泄漏这是什么错误



每当我运行完整的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 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虚拟机上测试了我的代码,没有错误。谢谢

相关内容

  • 没有找到相关文章

最新更新