我已经在小程序中使用Valgrind来检查记忆泄漏和它的工作.
现在我有一个包含许多类和.cpp和.h文件的大程序,我正在尝试使用Valgrind检查内存泄漏,因为我使用了很多指针,内存等.
我正在使用linux和codeblocks 16.01与gcc,我试图直接在代码块中运行Valgrind但我得到以下错误:
--------------- Application output -------------- valgrind: /myPathToTheProject/ValgrindOut.xml: No such file or directory
如果我使用只有.cpp文件和main的小项目进行测试,那么它运行良好,Valgrind会生成ValgrindOut.xml.在这个大项目中,我总是遇到这个错误.有人知道出了什么问题?或其他方式或工具来测试内存泄漏?
编辑 – 运行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.
解决方法
我不确定如何直接从codeblocks运行valgrind.我建议你使用codeblocks构建你的项目.执行时,按照以下命令使用valgrind.
命令
valgrind --tool=memcheck --leak-check=full --show-leak-kinds=all --log-file=leak.txt ./myexecutable <my command line arguments>
例
valgrind --tool=memcheck --leak-check=full --show-leak-kinds=all --log-file=leak.txt ./myexecutable -i 192.168.1.10 -p 5000
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。