软件中有大量的鼠标交互过程,程序运行一段时间后,出现“获取所需资源失败”故障退出程序。
开始估计是程序界面修改时资源ID不匹配所导致的,经过详对比**.rc文件,没有找到答案。无意间发现程序所占内存极大,进一步发现程序初始化完成后所占内存较小,程序中有内存泄露之处。运行程序、操作发现鼠标移动时内存急速增长。调试发现在View之OnMouseMove()中
CDC *pDC=GetDC();处是导致内存增长的原因。在OnMouseMove()结束处加入ReleaseDC(pDC); 问题解决。(魔鬼都在细节里哈)