关于内存泄露问题请教
我写的一个服务器程序中,客户机采用无限制开启线程的方法模拟多 客户连接。服务器没有调用任何new的地方(初始化服务器时候分配的内存不在此列),而且也没有创建过任何自定义对象,对于所有的socket对象,最终也都正常closesocket了,但是,程序运行时候消耗内存总会不断增加,百思不得其解,请求高人指点。另外我所有的内存分配都使用以下两个函数,昨天我曾经用另外一种限制客户连接频率和线程个数的方法限制了内存的无限制增长,但结果造成了虚拟内存过在一段时间后会发生不足。
namespace __farfhy
{
namespace memory
{
__inline PBYTE cfmalloc(UINT s)
{
UINT nNewSize = (UINT) ceil(s / 1024.0) * 1024;
PBYTE pNewBuffer = (PBYTE) VirtualAlloc(NULL,nNewSize,MEM_COMMIT,PAGE_READWRITE);
return pNewBuffer;
}
__inline VOID cffree(PVOID p)
{
if (p)
{
VirtualFree(p,0,MEM_RELEASE);
}
}
}
}
我对内存分配不是很了解,想请教高人,到底有何种方法可以非常准确的找出内存泄露??boundschecker根本不能跑我的程序,郁闷死,另外我的程序是delphi的dll调用vc的dll,结果delphi程序可以调试,vc的程序一调试就当掉,有高人可以指点原因的话感激不尽