Debugging 仍然可以在valgrind到达

Debugging 仍然可以在valgrind到达,debugging,memory,memory-management,memory-leaks,valgrind,Debugging,Memory,Memory Management,Memory Leaks,Valgrind,虽然在瓦尔格兰德仍然可以找到,但有些人说这不是问题。我们不需要修理它。有人说它需要修复。如果有人能明确地向我解释一下这背后的逻辑是什么,我会更好。是否必须修复此问题 [编辑] 我的C程序有以下valgrind输出。我需要修复它吗 LEAK SUMMARY: ==27333== definitely lost: 0 bytes in 0 blocks. ==27333== possibly lost: 0 bytes in 0 blocks.

虽然在瓦尔格兰德仍然可以找到,但有些人说这不是问题。我们不需要修理它。有人说它需要修复。如果有人能明确地向我解释一下这背后的逻辑是什么,我会更好。是否必须修复此问题

[编辑]

我的C程序有以下valgrind输出。我需要修复它吗

      LEAK SUMMARY:
      ==27333==    definitely lost: 0 bytes in 0 blocks.
      ==27333==      possibly lost: 0 bytes in 0 blocks.
      ==27333==    still reachable: 96 bytes in 12 blocks.
      ==27333==         suppressed: 0 bytes in 0 blocks.
视情况而定。“仍然可访问”表示您在退出之前没有释放内存块,但有一个指向它的指针

在C++程序中,这意味着某个对象可能没有被“代码>删除”/代码> d,因此它的析构函数可能没有被运行,因此说一些数据可能没有被保存到磁盘上,并且一些其他的动作可能没有被占用,因此程序可能会产生意外的行为。 然而,C程序中没有析构函数,所以你的程序不能依赖于它。此外,释放内存也需要一些时间,因此在退出时不释放内存可以节省一些时间-您的程序将更快地退出(这对于具有大量数据的程序可能非常重要)


如果你的C程序有“仍然可到达”的块,这不是问题,但是这表明程序中的一些代码不释放内存,所以在重用代码时你可以期待bug。

你甚至没有说过这是C或C++程序。