说明你有许多句柄没有释放!
这样句柄打开过多,一是浪费系统内核资源,二是好像Windows对一个进程打开的句柄数量有限制,是多少不知道。

解决方案 »

  1.   

    你是不是忘记释放资源?
     释放资源的对应API如下:
     new  --  delete
     CreatePatternBrush -- DeleteObject
     CreatePen -- DeleteObject
     SetWindowsHookEx - UnhookWindowsHookEx
     LoadLibrary - FreeLibrary
     GlobalAddAtom - GlobalDeleteAtom
     SetProp - RemoveProp
     
     在资源不再使用的时候释放就可以了。
      

  2.   

    CreatePen--程序调用了,可都删除了,我可以再查查,
    可其它几个程序并没有调用,比如LoadLibrary,我的程序里根本找不到,
    如何释放?先谢谢了。
      

  3.   

    Resource leak: allocated by LoadLibraryA in dllinit.cpp (505), HANDLE: 0x6BC20000
    这样的泄漏报告我也遇到过,至今不知如何解决 :(我也没有什么好办法,只能在 coding 的时候,仔细仔细再仔细...
      

  4.   

    Resource leak: allocated by LoadLibraryA in dllinit.cpp (505), HANDLE: 0x6BC20000
    我总遇到,是不是TMD MFC搞得鬼!
      

  5.   

    BoundsCheck 怎么用啊?我怎么不会?
    我用它调试程序时怎么都显示不出来?
      

  6.   

    哦~握搞清楚了,原来在VC.NET中不支持它,怎样才能让他支持那?
      

  7.   

    这些漏洞都是调用MFC的源程序导致的,难道MFC自己没有释放掉?
    程序中用到CRectTracker,在 trckrect.cpp 
    ln 130 调用了CreatePatternBrush 
    ln 142 调用了CreatePen 
    大家如果有兴趣可以看看MFC到底有没有DELETE?
      

  8.   

    很多提示的问题都出现在MFC里,我这也是这样,
    尤其release版的exe可以运行,debug版的exe经常dump,肯定是程序有些问题,
    但大海捞针,求助于BoundsCheck,好像都是微软的错?
      

  9.   

    朋友:
      BoundsCheck时好东西呀!他能保护栈,使他不至于毁坏!
      他的报错严格的,但内存漏洞是不能忽视的!
     如果MFC的错,唯一办法:不用MFC,纯C++.Win32编程!
    如果是你的错,呵呵,大多都是内存没释放引起!
      

  10.   

    并没有否认BoundsCheck,但查出漏洞在MFC的源程序里,如何解决?不知
    楼上有没有遇到过此类错误,是如何处理的?请明示。先谢过!
      

  11.   

    好像就是MFC的错。
    我有一个同样的程序, 在vc6中编译, 用BoundsCheck监测就有内存泄漏。
    但是, 同样的程序在vc7中编译, 跑出来的就没有任何内存泄漏。不信, 你自己用Wizard生成一个CHtmlView的简单程序。 就有内存泄漏。。
    然后, 那着程序到vc7中编译, 生成的程序然后再BoundsChecker里面跑。