程序中定义了一个网络接收类netRcv,
用一个启示函数Start起一个线程CreateThread,设定优先级,
类中定义线程函数,在线程函数里调用Run函数实现网络接收和处理程序
另外定义有网络初始化函数。现在程序能够实现端口接收数据,
但是程序在关闭后有时会出现内存错误(不是每次都出现),
用BoundsChecker检查存在资源泄漏,定位在创建线程行,给类netRcv析构函数中添加CloseHandle(),
试了几下没有看到内存错误现象,
但是用BoundsCheck检查仍然是资源泄漏,还是线程创建的问题!
也不能确定是否解决内存不能写问题,因为本来就是有时才出现!什么问题?
这个Handle应该什么地方Close???
为什么还存在资源泄漏??

解决方案 »

  1.   

    一些API的资源泄漏是无法修改的!BoundsCheck也不是万能的,它所表示的不一定都正确,只是一些API释放资源的地方它无法感知!
      

  2.   

    定位到自己的程序代码时好象一般正确的
    我试过在析构中显式delete handle时就会给出error
    定位到API时好像是没有办法的
      

  3.   

    vcleaner说的很对。
    你用_beginThread开线程就没有问题了。
      

  4.   

    我试过在析构中显式delete handle时就会给出error
    应使用closehandle
      

  5.   

    CreateThread是不推荐使用的启动线程函数
    用_beginThread或_beginThread