Qt Creator配置以及使用Valgrind - 检测内存泄露

引言

Valgrind是一个在Linux平台下广泛使用的开源动态分析工具,它提供了一套丰富的工具集合,旨在帮助开发者检测和解决内存管理错误、线程同步问题以及优化程序性能。

对于Qter来说,可以直接在Qt Creator配置Valgrind,输出的相关信息会逻辑清晰的显示在界面上。

一、下载安装

可以直接使用包管理工具下载安装sudo apt-get install valgrind,或者通过源码进行编译安装。 本文使用源码安装

1.1 下载源码

官方下载地址:https://valgrind.org/downloads/,如下图所示:点击红框处即可下载。

在这里插入图片描述

1.2 安装

    1. 安装步骤如下:
      解压下载的压缩包、进入解压的文件、配置生成Makefile、make编译源码、make install安装 (需要root权限),命令如下
tar xvf valgrind-3.23.0.tar.bz2
cd valgrind-3.23.0
./configure
make
sudo make install
    1. 验证
      终端中输入valgrind -h 命令,显示如下图所示:
      在这里插入图片描述

二、配置使用

2.1 Qt Creator配置

    1. 选择菜单栏中的 Tools > Options
      在这里插入图片描述
    1. 选择Analyzer > Valgrind,会自动获取valgrind的可执行路径,可配置额外的参数
      注意:不同Qt Creator版本,可配置的项也不同. 一般来说,高版本可配置的项多,较全面
      在这里插入图片描述

2.2 使用

    1. 选择一个项目作为active project(只打开一个项目可忽略),工具栏选择 Analyze > Valgrind Memory Analyzer即可对此项目进行检测
      在这里插入图片描述
    1. 启动稍慢,需要等待 ,在应用程序输出 (Application Output)窗口会显示valgrind相关命令,如下图所示:
      在这里插入图片描述
    1. 在程序自动 or 手动退出后才会结束分析,输出相关信息
      在这里插入图片描述
int *b = new int[10];  // new了40个字节的内存,但是程序最后没有释放.

2.3 更多详细信息可参考官方文档:

    1. 打开Qt Creator的帮助
      在这里插入图片描述
    1. 下方有Detection Memory Leaks with Memcheck,里面有详细的使用和配置说明
      在这里插入图片描述

三、参考链接

【C/C++ 实用工具】内存泄漏与堆溢出检测工具一览:https://blog.csdn.net/qq_21438461/article/details/133215065
内存泄漏检测工具valgrind神器:https://blog.csdn.net/weixin_45264425/article/details/133824586
Qt creator 搭配 valgrind 检测内存泄漏:https://www.cnblogs.com/coding-my-life/p/4004161.html
valgrind的使用与输出结果分析 :https://www.cnblogs.com/kuangsyx/p/8043526.html
盘一盘几个内存泄漏检测工具:https://zhuanlan.zhihu.com/p/608640068
Valgrind Documentation:https://valgrind.org/docs/manual/index.html

  • 30
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
要在Qt Creator使用Valgrind进行内存泄漏检测和性能分析,可以按照以下步骤进行操作: 1. 首先,确保你已经安装了Valgrind。你可以在终端中运行`valgrind --version`来检是否已安装。 2. 打开Qt Creator,并导航到你的项目。 3. 在Qt Creator的左侧窗格中,点击“项目”以打开项目视图。 4. 在项目视图中,选择你的项目名称。 5. 在右侧窗格中,选择“构建和运行”选项卡。 6. 在构建和运行选项卡中,展开“运行步骤”。 7. 点击“添加运行步骤”按钮,并选择“自定义进程步骤”。 8. 在自定义进程步骤中,将“命令”字段设置为Valgrind可执行文件的路径。例如,在大多数Linux系统上,Valgrind可执行文件的路径是`/usr/bin/valgrind`。 9. 将“参数”字段设置为你想要传递给Valgrind的参数。例如,如果你想使用Valgrind进行内存泄漏检测,你可以将参数设置为`--leak-check=full`。 10. 点击“应用”按钮以保存设置。 11. 现在,你可以点击Qt Creator工具栏上的绿色三角形按钮来启动应用程序并使用Valgrind进行分析。 请注意,Valgrind使用可能会对应用程序的性能产生一定影响,因此在进行性能分析时,建议使用一个更小规模的测试数据集来获得准确的结果。此外,在Valgrind分析期间,可能会产生大量的输出信息,所以确保你的终端或Qt Creator的输出窗口足够大来显示这些信息。 希望这些步骤可以帮助你在Qt Creator使用Valgrind进行内存泄漏检测和性能分析。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大米粥哥哥

感谢认可!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值