我用vc++6.0编了一个程序,包括一个线程和两个定时器,其中一个定时器中对数据库和串口进行了很多操作,而且每200ms就执行一次,现在发现cpu占有率平均保持在20%左右,而且内存也缓慢增加,但奇怪的是,有时在进行一部分操作后,内存下降到4m左右,又开始增加,不知为何?不知哪位能告诉我怎样知道有没有什么工具或方法查出那个地方在不停的占用内存?

解决方案 »

  1.   

    可能和绘图及速度较慢的IO操作有关,因为这类操作会HOLD住所需的资源。
    比如绘图对应的WM_PAINT是消息中优先级最低的,所以只有当系统较有空时才会调它。还有,用VC的Debug状态运行程序,在退出时会显示所有的内存泄漏。再有,BoundCheck的功能还要强大一些
      

  2.   

    在debug退出时的确有内存泄漏,但看不出来在那有问题,怎么看呢?