加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读