vs2010使用vld检测内存泄露

cocos2d-x不仅可以做到跨平台运行,还可以做到跨平台编译调试(当然只是编译对应平台下的应用了)。众所周知,cocos2d-x是用c++编写的,而c++中最让人头疼的莫过于指针和内存泄露的问题,在windows下,cocos2d-x支持在vs下开发,这样,平时写win32项目的开发工具就可以用在cocos2d-x开发上了,善哉!今天就介绍一个检测内存泄露的工具,Visual Leak Detector,简称 vld

1.安装

这一步很简单,官网已经在上面给了,直接download吧,跳过!

2.简介

安装完成之后vld目录如下:

简单介绍下,include目录下是vld库的头文件;lib目录下是vld编译生成的静态库,有32和64位两个版本;src目录是源码了。。。

3.配置

ps: 对vs配置第三库的高玩请自行跳过

(1)配置include

右键选择需要监测内存泄露的工程,选择Properties,选择Configuration Properties->C/C++/->Additional Include Directories,如图

选择新加入一个include路径,也就是安装vld的include路径,比如我刚才的路径就是D:\Program Files\Visual Leak Detector\include,这样,在工程里引入头文件的时候就不会报找不到文件的错了!

(2)配置第三方库

a.先配置第三库所在路径

步骤和(1)类似,只是这次要选择Configuration Properties->Linker->General->Additional Library Directories,如图

根据我vld的安装目录,应该是D:\Program Files\Visual Leak Detector\lib\Win32

b.配置第三方库

这次要选择的是Configuration Properties->Linker->Input->Additional Dependencies,添加vld.lib,如图

OK,配置完成了!

ps:当然,虽然vs2010不支持全局配置了,但是还是可以再Property Manager中配置,需要的同学请google!

ps:如果项目需要合作开发,最好将vld相关的文件拷贝到工程里,根据工程路径设置,这样不会导致在不同的PC上需要重新配置的问题!比如$(SolutionDir)xxxx

4.使用

ps:对vld使用很熟悉的请自行跳过。。。

严谨一点,只有在win32平台下才可以引入vld

1 #if (CC_TARGET_PLATFORM == CC_PLATFORM_WIN32)
2 #include "vld.h"
3 #endif

泄露代码

1 char* ch = new char();

我并没有释放申请的内存,这是一个显而易见的内存泄露的错误,当我们的程序运行结束的时候,就会被检测到,注意观察Output

结束!~

时间: 2024-10-25 02:57:18

vs2010使用vld检测内存泄露的相关文章

使用新版Android Studio检测内存泄露和性能

内存泄露,是Android开发者最头疼的事.可能一处小小的内存泄露,都可能是毁于千里之堤的蚁穴.  怎么才能检测内存泄露呢?网上教程非常多,不过很多都是使用Eclipse检测的, 其实1.3版本以后的Android Studio 检测内存非常方便, 如果结合上MAT工具,LeakCanary插件,一切就变得so easy了. 熟悉Android Studio界面 工欲善其事,必先利其器.我们接下来先来熟悉下Android Studio的界面  PHPer月薪测试题 [点击进入] 看看自己工资拿少

用Instruments检测内存泄露

用Instruments检测内存泄露 标签:Xcode 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://dawn110110.blog.51cto.com/3049492/899283 IPhone上木有垃圾回收,动态申请的内存要自己记得释放,此文自己总结一下可能出现内存泄露的各种情况,以及检测方法. 内存泄露说白了,就是有这样一块动态申请的内存,但木有任何一个指针指向它. 举例来说,在C++中: MyClass * foo 

Android Studio检测内存泄露和性能

韩梦飞沙 yue31313 韩亚飞 han_meng_fei_sha [email protected] 首先需要明白一个概念, 内存泄露就是指,本应该回收的内存,还驻留在内存中. 一般情况下,高密度的手机,一个页面大概就会消耗20M内存,如果发现退出界面,程序内存迟迟不降低的话,可能就发生了严重的内存泄露. 我们可以反复进入该界面,然后点击dump java heap 这个按钮,然后Android Studio就开始干活了,下面的图就是正在dump  dump成功后会自动打开 hprof文件,

深度分析内存泄漏原因,使用MAT工具检测内存泄露和性能

造成内存泄漏原因: 场景一:静态变量导致的内存泄漏 例如:mainactivity中 private static context scontext: @override protected void oncreat(bundle savedinstancestate){ ............................................. scontext=this; } 泄漏点:静态变量scontext引用,activity无法正常销毁 场景二:单例模式导致的内存泄漏

Android性能优化第(二)篇---Memory Monitor检测内存泄露

上篇说了一些性能优化的理论部分,主要是回顾一下,有了理论,小平同志又讲了,实践是检验真理的唯一标准,对于内存泄露的问题,现在通过Android Studio自带工具Memory Monitor 检测出来.性能优化的重要性不需要在强调,但是要强调一下,我并不是一个老司机,嘿嘿!没用过这个工具的,请睁大眼睛.如果你用过,那么就不用在看这篇博客了. 先看一段会发生内存泄露的代码 public class UserManger { private static UserManger instance;

在iOS上自动检测内存泄露

手机设备的内存是一个共享资源.应用程序可能会不当的耗尽内存.崩溃,或者遭遇大幅度的性能降低. Facebook iOS客户端有很多功能,并且它们共享同一块内存空间.如果任何特定的功能消耗过多的内存,就会影响到整个应用程序.这是可能发生的,比如,这个功能导致了内存泄露. 当我们分配了一块内存,并设置了对象之后,如果在使用完了之后忘记释放,这就会发生内存泄露.这意味着系统是无法回收内存并交予他人使用,这也最终意味着我们的内存将会逐渐耗尽. 在Facebook,我们有很多工程师在代码库的不同部分上工作

Android 使用LeakCanary 检测内存泄露

LeakCanary 是 Android 和 Java 内存泄露检测框架,该框架是Square公司的一个开源库,项目地址 leakcanary . Android 开发中你是否频频遇到内存泄露而无奈无从解决.说不定哪天你不小心写的一行代码就导致了内存泄露.可以先看看这些问题导致的内存泄露 Android开发编码规范导致的内存泄露问题,而LeakCanary 则很直白得检测出了内存泄露并展示给我们.在使用它之前,我们来写一个例子. 本地广播,在开发中还是有一定的应用的,现在有这么一个需求,要求使用

使用LeakCanary检测内存泄露 翻译

原文:https://academy.realm.io/cn/posts/droidcon-ricau-memory-leaks-leakcanary/ GitHub:https://github.com/square/leakcanary Nov 18 2015 目录 中文翻译介绍 (0:00)内存泄漏:非技术讲解 (1:40)LeakCanary 救援 (3:47)技术讲解内存泄漏 (8:06)分析堆 (10:16)LeakCanary 救你于水火 (12:04)LeakCanary API

C++ 检测内存泄露工具 -- Windows平台

平台:Windows7 64bit,编译器G++(mingw) 工具:Dr Memory,项目主页:https://code.google.com/p/drmemory/ (可能要FQ,可能会很慢,所以,可以直接按照下面官方主页给出的链接下载,我也放了一份Windows版的在百度网盘,http://pan.baidu.com/s/1qWv2tZm,这个应该肯定可以下载) The latest versions can be directly accessed here: Dr. Memory i