Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
mac上的valgrind堆摘要错误_C_Macos_Valgrind - Fatal编程技术网

mac上的valgrind堆摘要错误

mac上的valgrind堆摘要错误,c,macos,valgrind,C,Macos,Valgrind,我的valgrind总是说我分配了很多东西,尽管我不是。我刚刚做了一个main,返回0并运行valgrind,它返回了这个。我刚刚重置了我的电脑 我不知道这是否有什么不同,但我使用的是mac Yosemite,但它也发生在El Capitan上,很快我也会在Sierra上进行测试。 我能做些什么来把valgrind的“allocs”和“绝对失败”归零吗?有了这样的日志,我永远不知道我是否正确地释放了所有内容 即使我没有包含任何库,这种情况也会发生 ==11011== HEAP SUMMARY:

我的valgrind总是说我分配了很多东西,尽管我不是。我刚刚做了一个main,返回0并运行valgrind,它返回了这个。我刚刚重置了我的电脑

我不知道这是否有什么不同,但我使用的是mac Yosemite,但它也发生在El Capitan上,很快我也会在Sierra上进行测试。 我能做些什么来把valgrind的“allocs”和“绝对失败”归零吗?有了这样的日志,我永远不知道我是否正确地释放了所有内容

即使我没有包含任何库,这种情况也会发生

==11011== HEAP SUMMARY:
==11011==     in use at exit: 34,527 bytes in 414 blocks
==11011==   total heap usage: 514 allocs, 100 frees, 41,503 bytes 
allocated
==11011== 
==11011== LEAK SUMMARY:
==11011==    definitely lost: 16 bytes in 1 blocks
==11011==    indirectly lost: 0 bytes in 0 blocks
==11011==      possibly lost: 0 bytes in 0 blocks
==11011==    still reachable: 0 bytes in 0 blocks
==11011==         suppressed: 34,511 bytes in 413 blocks

我不担心这个-这是一个小数目,可能与系统有关。专注于工具在代码中识别的问题

如果打开所有内存泄漏选项,您可能会获得更多详细信息,例如

--memcheck:leak-check=full --memcheck:show-reachable=yes
--memcheck:show-possibly-lost=yes --memcheck:track-origins=yes --verbose

我不担心这个-这是一个小数目,可能与系统有关。专注于工具在代码中识别的问题

如果打开所有内存泄漏选项,您可能会获得更多详细信息,例如

--memcheck:leak-check=full --memcheck:show-reachable=yes
--memcheck:show-possibly-lost=yes --memcheck:track-origins=yes --verbose

与其说是内存丢失的数量,不如说是监控自己内存消耗和潜在内存泄漏的能力。我认为他希望有一个干净的基础来编写代码是正确的。确切地说,问题是,这样我就不知道我是否分配了比释放更多的资源,以及诸如此类的事情。现实地说,你能对此做些什么?让苹果更换macOS?不太可能。在Valgrind找到一个补丁。大概只要这是一个常数且很小,就不必担心。设置mach调用可能会有开销,或者可能与动态链接器有关。即使你不使用任何库,它也会使用libsystem,这就是厨房水槽,包括libc以及OS X上的许多其他东西。是的,我使用--leak check=full运行valgrind,你说得对,Lucas Holt。它在libsystem上。你知道我能做些什么吗?与其说是内存丢失量,不如说是监控他自己的内存消耗和潜在的内存泄漏。我认为他希望有一个干净的基础来编写代码是正确的。确切地说,问题是,这样我就不知道我是否分配了比释放更多的资源,以及诸如此类的事情。现实地说,你能对此做些什么?让苹果更换macOS?不太可能。在Valgrind找到一个补丁。大概只要这是一个常数且很小,就不必担心。设置mach调用可能会有开销,或者可能与动态链接器有关。即使你不使用任何库,它也会使用libsystem,这就是厨房水槽,包括libc以及OS X上的许多其他东西。是的,我使用--leak check=full运行valgrind,你说得对,Lucas Holt。它在libsystem上。你知道我能做些什么吗?