社区
C++ 语言
帖子详情
程序在Release版本下如何检查内存泄漏
9527他大爷
2008-03-23 07:26:30
如题
...全文
108
回复
打赏
收藏
程序在Release版本下如何检查内存泄漏
如题
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Qt内存溢出检测
一个Qt内存溢出检测小工具,(需要VLD支持)。
C++
程序
检测
内存泄漏
的方法分享
一、前言 在Linux平台上有valgrind可以非常方便的帮助我们定位
内存泄漏
,因为Linux在开发领域的使用场景大多是跑服务器,再加上它的开源属性,相对而言,处理问题容易形成“统一”的标准。而在Windows平台,服务器和客户端开发人员惯用的调试方法有很大不同。下面结合我的实际经验,整理下常见定位
内存泄漏
的方法。 注意:我们的分析前提是
Release
版本
,因为在Debug环境下,通过VLD这个库或者CRT库本身的
内存泄漏
检测函数能够分析出
内存泄漏
,相对而言比较简单。而服务器有很多问题需要在线上并发压力情况下才出现,因此讨论Debug版调试方法意义不大。 二、对象计数 方法:在对象构造时计数
C++
程序
内存泄漏
检测方法
一、前言 在Linux平台上有valgrind可以非常方便的帮助我们定位
内存泄漏
,因为Linux在开发领域的使用场景大多是跑服务器,再加上它的开源属性,相对而言,处理问题容易形成“统一”的标准。而在Windows平台,服务器和客户端开发人员惯用的调试方法有很大不同。下面结合我的实际经验,整理下常见定位
内存泄漏
的方法。 注意:我们的分析前提是
Release
版本
,因为在Debug环境下,通过VLD这个库或者CRT库本身的
内存泄漏
检测函数能够分析出
内存泄漏
,相对而言比较简单。而服务器有很多问题需要在线上并发压力情况下才出现,因此讨论Debug版调试方法意义不大。 二、对象计数
Windows平台
release
版本
内存泄漏
检查
办法
release
版本
内存泄漏
的使用工具是Leakdiag 下载安装 下载地址: 链接:https://pan.baidu.com/s/1m_eJI3Iy-CNWLghpj5cyvw 提取码:qite Leakdiag下载之后按照默认设置安装,否则好像是会出问题的。默认安装是直接装在C盘下。 Logs文件夹里边存储的就是记录的日志,我们则是通过启动leakdiag应用
程序
进行检测。 LeakDiag支持5种不同的分配: 1) Virtual Memory Allocator 虚拟分配。 这种分.
QT平台在
Release
版下使用VLD来检测
内存泄漏
在开发过程中,我一般选择在debug
版本
下使用VLD(Visual Leak Detector)检测
内存泄漏
,但是由于某些原因,需要在
release
版检测。网上看了很多说只能跑debug,但是查看很多资料,能在
release
跑,下面是操作步骤。VLD不会对目标
程序
进行
内存泄漏
检测,也不会输出相关的调试信息。VLD会在目标
程序
运行期间检测
内存泄漏
并输出相关的调试信息。将报告目标设置为文件、调试器或两者。可向文件或者调试器输出,也可以两者都有。默认是debugger, 我设置为both。c)设置report。
C++ 语言
64,631
社区成员
250,927
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章