_CrtDumpMemoryLeaks报告程序中的内存泄露问题(简单示例代码)
// .h 文件
#pragma once
class CConsoleDump
{
public:
explicit CConsoleDump(LPCTSTR lpszWindowTitle = NULL);
virtual ~CConsoleDump(void); public:
BOOL DUMP(LPCTSTR lpszFmt, ...);
BOOL ShowWindow(BOOL bShowWindow);
BOOL SetWindowText(LPCTSTR lpszWindowTitle = NULL);
}; // .cpp文件
#include "StdAfx.h"
#include "ConsoleDump.h" #define MAX_BUFFER_SIZE (10 * 1024) CConsoleDump::CConsoleDump(LPCTSTR lpszWindowTitle)
{
if(AllocConsole())
{
if(NULL != lpszWindowTitle)
{
SetConsoleTitle(lpszWindowTitle);
}
}
} CConsoleDump::~CConsoleDump(void)
{
FreeConsole();
} BOOL CConsoleDump::ShowWindow(BOOL bShowWindow)
{
return ::ShowWindow(GetConsoleWindow(), bShowWindow ? SW_SHOW : SW_HIDE);
} BOOL SetWindowText(LPCTSTR lpszWindowTitle)
{
if(NULL != lpszWindowTitle)
{
return SetConsoleTitle(lpszWindowTitle);
}
return TRUE;
} BOOL CConsoleDump::DUMP(LPCTSTR lpszFmt, ...)
{
TCHAR szText[MAX_BUFFER_SIZE] = {}; va_list arglist;
va_start(arglist, lpszFmt);
_vstprintf_s(szText, _countof(szText), lpszFmt, arglist);
va_end(arglist); return WriteConsole(GetStdHandle(STD_OUTPUT_HANDLE), szText, _tcslen(szText), NULL, NULL);
} // 测试使用
CConsoleDump m_dump; // 定义为类的成员变量
// 需要的地方利用CConsoleDump::DUMP函数输出log信息即可
m_dump.DUMP(_T("Hello, World!\r\n"));
这只是个简单的封装了Console相关的几个函数,关于更多的Console相关的控制,可以参考MSDN文档中的
参考:http://blog.csdn.net/visualeleven/article/details/7628564
_CrtDumpMemoryLeaks报告程序中的内存泄露问题(简单示例代码)的更多相关文章
- [Swift通天遁地]七、数据与安全-(11)如何检测应用程序中的内存泄露
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...
- Linux下几款C++程序中的内存泄露检查工具
https://blog.csdn.net/gatieme/article/details/51959654
- 查找并修复Android中的内存泄露—OutOfMemoryError
[编者按]本文作者为来自南非约翰内斯堡的女程序员 Rebecca Franks,Rebecca 热衷于安卓开发,拥有4年安卓应用开发经验.有点完美主义者,喜爱美食. 本文系国内ITOM管理平台 One ...
- 了解 JavaScript 应用程序中的内存泄漏
简介 当处理 JavaScript 这样的脚本语言时,很容易忘记每个对象.类.字符串.数字和方法都需要分配和保留内存.语言和运行时的垃圾回收器隐藏了内存分配和释放的具体细节. 许多功能无需考虑内存管理 ...
- [转载]Java应用程序中的内存泄漏及内存管理
近期发现测试的项目中有JAVA内存泄露的现象.虽然JAVA有垃圾回收的机制,但是如果不及时释放引用就会发生内存泄露现象.在实际工作中我们使用Jprofiler调用java自带的 jmap来做检测还是很 ...
- Java中的内存泄露 和 JVM GC(垃圾回收机制)
一.什么是Java中的内存泄露? 在Java中,内存泄漏就是存在一些被分配的对象,这些对象有下面两个特点, 首先,这些对象是可达的,即在有向图中,存在通路可以与其相连:其次,这些对象是无用的,即程序以 ...
- 高效使用 JavaScript 闭包,避免 Node.js 应用程序中的内存泄漏
在 Node.js 中,广泛采用不同形式的闭包来支持 Node 的异步和事件驱动编程模型.通过很好地理解闭包,您可以确保所开发应用程序的功能正确性.稳定性和可伸缩性. 闭包是一种将数据与处理数据的代码 ...
- 利用Instrument Leak来发现App中的内存泄露
XCode提供了一组用于检测内存,调试动画,布局等的工具.对于调试一些性能问题,内存问题非常方便.这里我们使用Leak来发现代码中的内存泄露. 在Leak中启动我们的应用开始监控: 注意,在监控的时候 ...
- Android内存优化8 内存检测工具2 LeakCanary——直白的展现Android中的内存泄露
之前碰到的OOM问题,终于很直白的呈现在我的眼前:我尝试了MAT,但是发现不怎么会用.直到今天终于发现了这个新工具: 当我们的App中存在内存泄露时会在通知栏弹出通知: 当点击该通知时,会跳转到具体的 ...
随机推荐
- 给Eclipse提速的7个技巧(转载的)
大约一个月前,我发表了一篇博客,其中介绍了对Eclipse的爱与恨. 有些人问我如何给Eclipse提速,这篇文章就来讨论这个问题.顺带提一下,这篇文章不是比较IDE,所以不要说你讨厌某个IDE而 ...
- C++ —— 笔记汇总
导读 本文仅用于记录在个人在使用C++过程中的遇到一些的疑问和概念. 目录 语法和概念基础 常用函数 编程注意 编译问题 拓展链接 1.语法和概念基础 1.块域 2.static 作用域 ...
- SecureCRT连接vm中的ubuntu
如何使用SecureCRT连接ubuntu 用secureCRT连接Ubuntu是出现远程系统拒绝访问..经过一翻研究才知道Ubuntu上没有ssh.. 一下为连接过程. 1. 首先要明白什么是ssh ...
- C++中struct和class的区别 [转]
一. C++中的struct对C中的struct进行了扩充,它已经不再只是一个包含不同数据类型的数据结构了,它已经获取了太多的功能. struct能包含成员函数吗? 能! struct能继承吗? ...
- Java基础知识强化80:Math类random()方法的小扩展(控制产生目的数字的概率)
1. Math.random()方法: Math.random()出现的数据是0.0<= x < 1.0之间,随机出现一个数据Math.random()>0.1概率是0.9 那么如下 ...
- Linux popen/pclose
popen() 函数 #include <stdio.h>FILE * popen(const char *command , const char *type );int pclose( ...
- 对static静态成员的理解
疑惑: 数据成员可以分静态变量.非静态变量两种. 静态成员:静态类中的成员加入static修饰符,即是静态成员.可以直接使用类名+静态成员名访问此静态成员,因为静态成员存在于内存,非静态成员需要实例 ...
- (转)java 23种设计模式
设计模式(Design Patterns) ——可复用面向对象软件的基础 设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了 ...
- mongodb查询之模糊查询
mongodb的模糊查询是用正则表达式来实现的.例子如下: db.COMMODITY_COMMODITY_SHOP.find({name:{$regex :/南京/i}})
- CSS3 字体
CSS3 @font-face 规则 在 CSS3 之前,web 设计师必须使用已在用户计算机上安装好的字体. 通过 CSS3,web 设计师可以使用他们喜欢的任意字体. 当您您找到或购买到希望使用的 ...