c – Valgrind on codeblocks(linux)
发布时间:2020-12-16 06:53:55 所属栏目:百科 来源:网络整理
导读:我已经在小程序中使用Valgrind来检查记忆泄漏和它的工作. 现在我有一个包含许多类和.cpp和.h文件的大程序,我正在尝试使用Valgrind检查内存泄漏,因为我使用了很多指针,内存等. 我正在使用linux和codeblocks 16.01与gcc,我试图直接在代码块中运行Valgrind但我
我已经在小程序中使用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 这样你就可以生成valgrind输出文件,即包含内存泄漏等的leak.txt. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |