我使用的工具是NuMega Boundschecker,出问题的文件都是 wincore.cpp文件,这个应该是VS/VC98/MFC/SRC下的一个文件。问题一:Resource leak: allocated by GlobalAddAtomA in wincore.cpp

if ((WNDPROC)GetProp(hWnd, _afxOldWndProc) == oldWndProc)
{
GlobalAddAtom(_afxOldWndProc); SetWindowLong(hWnd, GWL_WNDPROC,
(DWORD)(pThreadState->m_bDlgCreate ?_AfxGrayBackgroundWndProc : _AfxActivationWndProc));
ASSERT(oldWndProc != NULL);
}问题二:Resource leak: allocated by SetPropA in wincore.cpp  if (oldWndProc != NULL && GetProp(hWnd, _afxOldWndProc) == NULL)
{
SetProp(hWnd, _afxOldWndProc, oldWndProc); if ((WNDPROC)GetProp(hWnd, _afxOldWndProc) == oldWndProc)
{
GlobalAddAtom(_afxOldWndProc);
SetWindowLong(hWnd, GWL_WNDPROC,
(DWORD)(pThreadState->m_bDlgCreate ?_AfxGrayBackgroundWndProc : _AfxActivationWndProc));
ASSERT(oldWndProc != NULL);
}
}

解决方案 »

  1.   

    这个还是要相信WS的内存泄露在他的代码中应该较少何况是Wincore.百分百的原因是自己的代码引起的。
      

  2.   

    例如你用DoModel显示一个对话框就会调用它们。
      

  3.   

    Resource leak 可以忽略吧~
      

  4.   

    完全可以忽略wincore.cpp文件错误的信息,因为wincore.cpp文件不可能错误,一定要坚信,坚信!!!!!!!!!! 通常问题最终是出在自己的内存读写上, 或越界,或访问已释放的内存,或类型转换非法等等...