程序员技巧 —— 内存泄漏检测工具

简介: 程序员技巧 —— 内存泄漏检测工具

程序员技能提升

VisualC++ debugger 和 CRT 库

第一步:包含以下头文件

#define _CRTDBG_MAP_ALLOC
#include<stdlib.h>
#include<crtdbg.h>

第二步:接管new操作符

#ifdef _DEBUG
#ifndef DBG_NEW
#define DBG_NEW new(_NORMAL_BLOCK, __FILE__, __LINE__)
#define new DBG_NEW
#endif
#endif

第三步:在代码结束出输出内存泄漏信息

_CrtDumpMemoryLeaks();


全部代码

注:在正式版代码发布之前可以利用这个工具检测程序是否有内存泄漏,当正式版代码发布时,最好还是将上述代码去掉以免影响性能。

#define _CRTDBG_MAP_ALLOC
#include<stdlib.h>
#include<crtdbg.h>
#include<iostream>
#include<stdio.h>
#ifdef _DEBUG
#ifndef DBG_NEW
#define DBG_NEW new(_NORMAL_BLOCK, __FILE__, __LINE__)
#define new DBG_NEW
#endif
#endif
using namespace std;
//不释放内存
void demo_1()
{
    int* p = new int[100];
    p[0] = 1;
}
//释放内存
void demo_2()
{
    int* p = new int[100];
    p[0] = 1;
    delete[]p;
}
int main()
{
    demo_2();
    for (int i = 0; i < 3; i++)
        demo_1();
    _CrtDumpMemoryLeaks();  //检测内存是否泄漏
    return 0;
}


6ba208efe584433cbbbc11b02c59e81c.png

目录
相关文章
|
2月前
|
IDE Linux 开发工具
内存泄漏检测工具Valgrind:C++代码问题检测的利器(一)
内存泄漏检测工具Valgrind:C++代码问题检测的利器
95 0
|
4月前
|
C++ Windows
windows下内存检测工具
windows下内存检测工具
|
2月前
|
缓存 测试技术 开发工具
内存泄漏检测工具Valgrind:C++代码问题检测的利器(二)
内存泄漏检测工具Valgrind:C++代码问题检测的利器
35 0
|
4月前
|
XML 存储 NoSQL
内存泄漏检测工具valgrind神器
内存泄漏检测工具valgrind神器
83 0
|
10月前
|
存储 算法 安全
去公司的第一天老大问我:内存泄露检测工具你知道几个?
如果应用程序的执行时间越来越长,或者操作系统的执行速度越来越慢,这可能是内存泄漏的迹象。换句话说,正在分配虚拟内存,但在不再需要时不会返回。最终应用程序或系统内存不足,应用程序异常终止。 使用Java飞行记录器调试内存泄漏 Java飞行记录器(JFR)是一个商业特性。您可以在开发人员台式机或笔记本电脑上免费使用它,也可以在测试、开发和生产环境中用于评估目的。 但是,要在生产服务器上启用JFR,必须具有商业许可证。在JDK上为其他目的使用Java任务控制(JMC)不需要商业许可证。 下面的部分展示了图并描述了如何使用Java飞行记录器调试内存泄漏。
|
11月前
|
Java 测试技术 C++
log4qt内存泄露问题,heob内存检测工具的使用
log4qt内存泄露问题,heob内存检测工具的使用
|
11月前
|
Linux Windows
逼格提升:内存泄漏检测工具
逼格提升:内存泄漏检测工具
|
Ubuntu Linux 编译器
【Linux】内存检测工具Valgrind
【Linux】内存检测工具Valgrind
|
Android开发
在安卓项目中使用 Leakcanary 内存泄露检测工具
使用 (一)导入 导入 Leakcanary-watcher、Leakcanary-analyzer、Leakcanary-android, 在当前项目的引用 Leakcanary-android 这个 library。
208 0
|
缓存 监控 Java
Java 技术篇-用java自带的内存检测工具排查内存泄漏问题,查看java垃圾回收情况,监控java堆内存变化
Java 技术篇-用java自带的内存检测工具排查内存泄漏问题,查看java垃圾回收情况,监控java堆内存变化
370 0
Java 技术篇-用java自带的内存检测工具排查内存泄漏问题,查看java垃圾回收情况,监控java堆内存变化