windows内存泄漏监测

简介: 之前使用vld检测内存泄露,有兴趣可以一观: http://blog.csdn.net/alex_my/article/details/11488805 控制台下有效,MFC未测试。 使用方法如下: #include <crtdbg.h> ifdef _DEBUG define new new(_NORMAL_BLOCK, __FILE__, __LI
之前使用vld检测内存泄露,有兴趣可以一观:

http://blog.csdn.net/alex_my/article/details/11488805

控制台下有效,MFC未测试。
使用方法如下:

#include <crtdbg.h>
ifdef _DEBUG
define new new(_NORMAL_BLOCK, __FILE__, __LINE__)
endif

void EnableMemLeakCheck()
{
     _CrtSetDbgFlag(_CrtSetDbgFlag(_CRTDBG_REPORT_FLAG) | _CRTDBG_LEAK_CHECK_DF);
}

int main()
{
     EnableMemLeakCheck();
    
     int* p = new int[1024]; 

     return 0;
}

执行完毕之后,会在output窗口显示在哪里new的内存是没有被释放的。


但是在复杂的工程中,常常报出的信息中没有包含行列信息。


这时候需要借助另外一个工具。 _CrtSetBreakAlloc

在EnableMemLeakCheck()之后添加一行:

_CrtSetBreakAlloc(279);

这样,在运行到红框中279处泄漏内存时就会暂停。


在Call Stack中,可以看见,在哪里分配的内存是没有释放的。

可以改变_CrtSetBreakAlloc(long )中的数字,重新编译运行,分别查看各个泄漏点位置。
相关文章
|
4月前
|
XML Ubuntu Linux
部署08---扩展-Win10配置WSL(Ubuntu)环境,WSL系统是什么意思,是Windows系统上的一个子系统, xml的一大特点是直链系统,直接链接你的CPU,硬盘和内存,如何用 WSL部署
部署08---扩展-Win10配置WSL(Ubuntu)环境,WSL系统是什么意思,是Windows系统上的一个子系统, xml的一大特点是直链系统,直接链接你的CPU,硬盘和内存,如何用 WSL部署
|
27天前
|
弹性计算 关系型数据库 数据安全/隐私保护
阿里云国际版如何配置Windows服务器的虚拟内存
阿里云国际版如何配置Windows服务器的虚拟内存
|
29天前
|
C# 开发工具 Windows
C# 获取Windows系统信息以及CPU、内存和磁盘使用情况
C# 获取Windows系统信息以及CPU、内存和磁盘使用情况
39 0
|
1月前
|
程序员 Windows
程序员必备文件搜索工具 Everything 带安装包!!! 比windows自带的文件搜索快几百倍!!! 超级好用的文件搜索工具,仅几兆,不占内存,打开即用
文章推荐了程序员必备的文件搜索工具Everything,并提供了安装包下载链接,强调其比Windows自带搜索快且占用内存少。
32 0
|
6月前
|
存储 缓存 Java
释放C盘空间:释放Windows休眠文件和关闭虚拟内存
在 Windows 11 专业版中,可以通过以下步骤来释放休眠文件(Hibernate File),以释放磁盘空间。休眠文件是系统休眠(Hibernate)功能所需要的文件,它保存了系统的当前状态,以便在休眠状态下恢复。如果你不使用休眠功能,如果因为C盘空间不足,可以考虑释放这个文件来腾出磁盘空间。
15102 1
|
6月前
|
C++ Windows
windows下内存检测工具
windows下内存检测工具
200 0
|
5月前
|
网络安全 Windows
windows Windows Defender彻底删除屏蔽后台启动占用内存 win10防火墙 windows10防火墙
windows Windows Defender彻底删除屏蔽后台启动占用内存 win10防火墙 windows10防火墙
68 0
|
6月前
|
测试技术 Android开发 UED
如何对APP的内存使用情况进行监测?
如何对APP的内存使用情况进行监测?
|
12月前
|
Android开发
[√]Android 通过adb内存监测方法
[√]Android 通过adb内存监测方法
525 1
|
6月前
|
缓存 C# Windows
一款.NET开源的小巧、智能、免费的Windows内存清理工具 - WinMemoryCleaner
一款.NET开源的小巧、智能、免费的Windows内存清理工具 - WinMemoryCleaner
150 0