c++ - 是否存在 valgrind 不会报告现有泄漏/错误的情况

标签 c++ c debugging memory-leaks valgrind

我第一次检查 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/

相关文章:

c++ - 运算符 [ ] (std::vector) 不匹配

c - 并发 tcp 客户端服务器程序和迭代程序有什么区别?

c - C 中的内存泄漏?

C 程序在调用函数时崩溃。

c++ - 在结构 vector 的监 window 口中显示特定变量

c++ - 在优化构建中查找访问冲突,该访问冲突未显示在调试构建 (gcc) 中

C++:数组和共享内存

c++ - 如何在msvc中强制返回值优化

c++ - 确定数组分配的长度

C++溢出新关键字调试