博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C++内存泄漏的调试
阅读量:4705 次
发布时间:2019-06-10

本文共 574 字,大约阅读时间需要 1 分钟。

一、在程序代码中加入代码:

头文件和宏定义:

#define _CRTDBG_MAP_ALLOC #include 
#define new new(_NORMAL_BLOCK, __FILE__, __LINE__)

注意:#include 语句的顺序。如果更改此顺序,所使用的函数可能无法正确工作。

在析构函数最后一行调用:

_CrtDumpMemoryLeaks();

 

二、在调试过程中监视指定内存位置:

C运行库(C run-time library)

long _CrtSetBreakAlloc(  long lBreakAlloc );

其中参数lBreakAlloc即为内存分配号(花括号中的数字)。我们只要在程序初始化函数中添加语句:_CrtSetBreakAlloc(80)就可以使程序在Debug

F5运行时自动断点到我们想要的位置。

在Watch窗口中:

 静态链接 在name项中输入_crtBreakAlloc,在value项中输入你要定位的内存分配编号;

动态链接 在name项中输入{msvcr130d.dll}_crtBreakAlloc,在value项中输入内存分配号;

转载于:https://www.cnblogs.com/depend-wind/p/9001012.html

你可能感兴趣的文章
for循环闭包添加事件方法
查看>>
temp for @青
查看>>
npm 换源
查看>>
Vultr Debian8系统一键快速DD安装Windows7系统
查看>>
PAT 1085 Perfect Sequence[难]
查看>>
Wepy开发小程序文档
查看>>
搭建前后端分离网站
查看>>
PE学习
查看>>
ssh框架整合之注解版
查看>>
2018-2019-2 网络对抗技术 20165231 Exp7 网络欺诈防范
查看>>
去买电脑时注意的问题
查看>>
JavaScript之单线程
查看>>
哈夫曼树
查看>>
Silverlight.XNA(C#)跨平台3D游戏研发手记:(三)蜂窝拓扑结构在SLG地图布局中的应用...
查看>>
Python学习笔记1:用户登录
查看>>
pelican AttributeError: 'unicode' object has no attribute 'slug'
查看>>
HIVE存储(三)RCFile
查看>>
正则表达式学习一
查看>>
css实例
查看>>
[七月挑选]树莓派Raspberrypi上配置Git
查看>>