如何检测DLL中的内存泄漏? 1.如何检测DLL中的内存泄漏?据说使用Visual Leak Detector可以,但是使用时只检测到EXE的内存泄漏,却没有检测到DLL中的。2.如果该C++的DLL是被C#程序调用的又该如何检测该DLL的内存泄漏情况? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果dll是MFC的, 可以直接使用 #define new DEBUG_NEW这样来检测.如果没有, 也可以定义一个头文件.内容如下:#pragma once#ifdef _DEBUG#define DEBUG_CLIENTBLOCK new( _CLIENT_BLOCK, __FILE__, __LINE__)#else#define DEBUG_CLIENTBLOCK#endif#define _CRTDBG_MAP_ALLOC#include <crtdbg.h>#ifdef _DEBUG#define new DEBUG_CLIENTBLOCK#endif//注意, 仍然有些地方会误报, 特别是全局变量.class CMemLeakCheck{private: CMemLeakCheck() { }public: static void InitMemLeakCheck() { _CrtSetDbgFlag( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF ); }};在dll初始化的时候调用InitMemLeakCheck 用windbg。参考http://www.cnblogs.com/SkyMouse/archive/2012/07/05/2578553.html get_outerText是否是线程安全的? 网卡和IP地址是怎样的关系,以及如何测试一个网卡能否正常工作? socket中的send函数 C/C++ 如何读取一个http或者ftp服务器上的文件内容(比如txt)? 问个数据库问题 如何判断某个路径是否存在? 把单文档工程中原基于CWnd的视图改为基于CFormView后编译出现下面三个错误?该怎么修改呢? 求读入BMP图像并在视图区显示的源代码 急 用DirectX怎样实现禁止截屏功能! 短信网关源代码免费开放! MFC的Navigate 导航函数怎么用 多相机同步控制,同时拍照,谁弄过?
如果没有, 也可以定义一个头文件.内容如下:
#pragma once#ifdef _DEBUG
#define DEBUG_CLIENTBLOCK new( _CLIENT_BLOCK, __FILE__, __LINE__)
#else
#define DEBUG_CLIENTBLOCK
#endif
#define _CRTDBG_MAP_ALLOC
#include <crtdbg.h>
#ifdef _DEBUG
#define new DEBUG_CLIENTBLOCK
#endif//注意, 仍然有些地方会误报, 特别是全局变量.
class CMemLeakCheck
{
private:
CMemLeakCheck()
{
}
public:
static void InitMemLeakCheck()
{
_CrtSetDbgFlag( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF );
}
};在dll初始化的时候调用InitMemLeakCheck
参考
http://www.cnblogs.com/SkyMouse/archive/2012/07/05/2578553.html