关于GDI Objects的释放和测试

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.善用测试工具。基本的性能测试,可充分使用任务管理器。很有帮助


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值