GDI泄漏调试工具——GdiChecker

前几个月一直在做GDI泄漏相关的工作。 相比于内存泄漏,有很多成熟的工具去检测。但是在我定位gdi泄漏之初,没有什么好用工具。基本办法的是通过任务管理器看某个进程gdi数量的变化,高级一点的是用GDIView这个程序去查看进程各种gdi类型的数量变化,可以进一步定位出是哪种gdi在泄漏,缩小范围。另一个有用的工具是GDIndicator,它可以注入到目标进程,查看gdi句柄对应对象的详细情况。比如显示出bitmap,icon,dc里面内容的样子。 显示某个gdi对象的详细信息这个功能非常有用,很多时候你就可以根据gdi对象的详情就知道是哪种资源在泄漏,哪个图片,哪种dc或者是哪种字体。还有种情况,假如第三方dll造成你程序gdi的泄漏,即使你知道某种类型的gdi正在泄漏,但是你review你自己的代码却发现对应gdi资源管理没有问题。如果你知道gdi的对象的详情,比如某个位图的样子,你就发现这可能是输入法注入进来造成的gdi泄漏。 但是GDIView和GDIndicator都有各自的缺点。GDIView分32位和64位两个独立的exe,并且不能查看到某个gdi对象的详情。而GDIndicator仅支持xp,win7下面无法使用。 我写了一个GdiChecker的程序,综合了GDIView和GDIndicator的优点。它可以同时支持显示32位和64位进程gdi的各种类型GDI数量,又可以注入到进程里面显示gdi的详情。 目前我已经把这个工具用wtl重写了一边,在github上开源了:https://github.com/plxaye/GdiChecker 也可以点这里下载GdiChecker:GdiChecker.exe... Read More | Share it now!

写了一个Notepad++的markdown插件

一直比较喜欢Notepad++这个文本编辑器,免费,各种插件,轻量级。 而我最近要写一些文档,想用textile这个轻量级的标记语言来写。自己也用c++去实现一个textile的解析引擎,目前这个还没有完成,网上也没有现成的对应开源库。 感觉textile还是比markdown小众多了,所以准备先实现一个markdown的版本。正好Notepad++还没有Markdown插件,于是我就准备写一个,也为社区做一份共享吧。这个插件的markdown解析库用的是Chad... Read More | Share it now!