【发布时间】:2018-01-08 04:06:27
【问题描述】:
我已经在小程序中使用Valgrind 来检查memorys leaks 并且它的工作良好。
现在我有一个包含许多类和.cpp 和.h 文件的大程序,我正在尝试使用Valgrind 检查memory leak,因为我使用了很多指针、内存等。
我将linux 和codeblocks 16.01 与gcc 一起使用,我试图在codeblocks 中直接运行Valgrind,但出现以下错误:
--------------- Application output --------------
valgrind: /myPathToTheProject/ValgrindOut.xml: No such file or directory
如果我用一个只有.cpp 文件和主文件的小项目进行测试,它运行良好,Valgrind 生成ValgrindOut.xml。在这个大项目中,我总是遇到这个错误。有人知道出了什么问题吗?或其他方式或工具来测试memory leak?
编辑 - 运行 Valgrind 后的泄漏摘要
Leak summary:
definitely lost: 673 bytes in 6 blocks.
indirectly lost: 89,128 bytes in 68 blocks.
possibly lost: 232 bytes in 2 blocks.
still reachable: 80,944 bytes in 6 blocks.
suppressed: 0 bytes in 0 blocks.
【问题讨论】:
-
请说明你是如何运行它的,你在哪里得到这个错误?
-
我直接在代码块中运行。顶部菜单栏 -> valgrind -> 运行 memcheck 并且错误出现在 valgrind 'console' 输出的代码块中
-
你可以直接从 linux shell 运行它吗?这似乎是一个密码锁(无论是什么)问题。
-
我从未在 linux shell 中运行 Valgrind。你知道怎么跑吗?
-
是否应该已经有一个 .xml 文件来写入输出?我只是在猜测,我没有在任何 IDE 中使用 valgrind。我总是在 shell 中运行 valgrind。
标签: c++ c linux memory-leaks codeblocks