1.BUG现象:
程序里莫名出了错误,报错的位置为 CView:OnClientTODC, OnDraw,OnPaint等位置
其中有一个信息为Warning: Uncaught exception in WindowProc (returning 0).
2.结论:
GDI Object 没有Release
3.代码要求:
代码中存在GetDC(), 但没有调用ReleaseDC(CDC* pDC)与之对应
知识点:
1.DeleteDC 与 CreateDC 对应使用 ; ReleaseDC 与 GetDC 对应使用
GetDc() :This function releases a device context (DC), freeing it for use by other applications.
若不成对使用会有DC资源问题,GDI Object会占用越来越多,在数量超过10,000时,程序会崩溃掉。
2.测试方法
任务管理器, “查看”菜单,选择“选择列...”, 选中“GDI 对象”
Task Manager, "View" menu, select "Select Columns", pick up "GDI Objects"
总结:
1.MSDN中声明要成对使用的方法,一定要注意。
2.善用测试工具。基本的性能测试,可充分使用任务管理器。很有帮助