为什么valgrind在内存泄漏检测期间被杀死?

时间:2012-04-28 03:01:49

标签: c++ memory memory-management memory-leaks valgrind

==1581== 
==1581== HEAP SUMMARY:
==1581==     in use at exit: 49,152 bytes in 3 blocks
==1581==   total heap usage: 4 allocs, 1 frees, 50,176 bytes allocated
==1581== 
==1581== LEAK SUMMARY:
==1581==    definitely lost: 0 bytes in 0 blocks
==1581==    indirectly lost: 0 bytes in 0 blocks
==1581==      possibly lost: 0 bytes in 0 blocks
==1581==    still reachable: 49,152 bytes in 3 blocks
==1581==         suppressed: 0 bytes in 0 blocks
==1581== Reachable blocks (those to which a pointer was found) are not shown.
==1581== To see them, rerun with: --leak-check=full --show-reachable=yes
==1581== 
==1581== For counts of detected and suppressed errors, rerun with: -v
==1581== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 4 from 4)
Killed

1 个答案:

答案 0 :(得分:0)

某些已分配的块在理论上仍然在执行检查时处于活动状态。也许静态或全局数据将在以后处理。或C ++标准流,它们比应用程序代码更长久(从未销毁)。

这是一个提示:

  

== 1581 ==未显示可到达的块(找到指针的块)   == 1581 == 要查看它们,请重新运行: - leak-check = full --show-reachable = yes