我第一次检查 valgrind,我喜欢当前的结果,但是我很好奇 valgrind 是否总是会返回它遇到的内存泄漏,或者是否有一些可能会避免,具体取决于如何该程序已关闭。例如,如果使用“killall -9 program”终止程序。
这是我当前程序的结果,通过在 Ubuntu 系统监视器中使用“结束进程”停止
==10182== HEAP SUMMARY:
==10182== in use at exit: 0 bytes in 0 blocks
==10182== total heap usage: 8,747,225 allocs, 8,747,225 frees, 1,352,535,387 bytes allocated
==10182==
==10182== All heap blocks were freed -- no leaks are possible
==10182==
==10182== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
此结果是否证实确实存在零泄漏或上下文错误?
最佳答案
根据 this ,Vallgrind无法检测堆栈越界,全局越界和返回后使用。
关于c++ - 是否存在 valgrind 不会报告现有泄漏/错误的情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21635165/