Valgrind工具测试C++工程内存泄漏问题
-
- 标题一 环境配置
- 标题二 运行
- 标题结果分析
标题一 环境配置
linux配置链接
标题二 运行
2.1:在命令行中输入:script -f log.txt
用于开启命令保存log.txt。
2.2 在命令行中输入:valgrind --tool=memcheck --leak-check=full --show-leak-kinds=all ./可执行文件
2.3 在命令行中输入:exit
结束log.txt的文件保存。
标题结果分析
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiYTMfhHLlN3XnxCM38FdsYkRGZkRG9lcvx2bjxCMy8VZ6l2cs0zZq5EMrpmTyUEROZmRYNWQClGVF5UMR9Fd4VGdsATNfd3bkFGazxycykFaKdkYzZUbapXNXlleSdVY2pESa9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnL5kzYklDN2EGM5MDZyU2MhNDOhRzMhFmY4kjY3IGMyQ2Lc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
在输出的log文档的末尾,会有上面的统计信息,其中definitely lost是明确有内存泄漏的模块; indirectly lost:是间接存在内存泄漏的模块; possibly loss是可能存在内存泄漏的模块;其他的和内存泄露无关。然后在全文搜索关键字:definitely lost, indirectly lost, possibly loss去定位具体的泄漏模块即可。