Qt Creator配置以及使用Valgrind - 检测内存泄露
- 引言
- 一、下载安装
- 1.1 下载源码
- 1.2 安装
- 二、配置使用
- 2.1 Qt Creator配置
- 2.2 使用
- 2.3 更多详细信息可参考官方文档:
- 三、参考链接
引言
Valgrind是一个在Linux平台下广泛使用的开源动态分析工具,它提供了一套丰富的工具集合,旨在帮助开发者检测和解决内存管理错误、线程同步问题以及优化程序性能。
对于Qter来说,可以直接在Qt Creator配置Valgrind
,输出的相关信息会逻辑清晰的显示在界面上。
一、下载安装
可以直接使用包管理工具下载安装sudo apt-get install valgrind
,或者通过源码进行编译安装
。 本文使用源码安装
:
1.1 下载源码
官方下载地址:https://valgrind.org/downloads/,如下图所示:点击红框处即可下载。
1.2 安装
-
- 安装步骤如下:
解压下载的压缩包、进入解压的文件、配置生成Makefile、make编译源码、make install安装 (需要root权限),命令如下
- 安装步骤如下:
tar xvf valgrind-3.23.0.tar.bz2
cd valgrind-3.23.0
./configure
make
sudo make install
-
- 验证
终端中输入valgrind -h
命令,显示如下图所示:
- 验证
二、配置使用
2.1 Qt Creator配置
-
- 选择菜单栏中的
Tools
>Options
- 选择菜单栏中的
-
- 选择
Analyzer
>Valgrind
,会自动获取valgrind
的可执行路径,可配置额外的参数
注意:不同Qt Creator版本,可配置的项也不同. 一般来说,高版本可配置的项多,较全面
- 选择
2.2 使用
-
- 选择一个项目作为
active project
(只打开一个项目可忽略),工具栏选择Analyze
>Valgrind Memory Analyzer
即可对此项目进行检测
- 选择一个项目作为
-
- 启动稍慢,需要等待 ,在应用程序输出 (Application Output)窗口会显示valgrind相关命令,如下图所示:
- 启动稍慢,需要等待 ,在应用程序输出 (Application Output)窗口会显示valgrind相关命令,如下图所示:
-
- 在程序自动 or 手动退出后才会结束分析,输出相关信息
- 在程序自动 or 手动退出后才会结束分析,输出相关信息
int *b = new int[10]; // new了40个字节的内存,但是程序最后没有释放.
2.3 更多详细信息可参考官方文档:
-
- 打开Qt Creator的帮助
- 打开Qt Creator的帮助
-
- 下方有
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