Snippets
(Unterschied zwischen Versionen)
| Zeile 6: | Zeile 6: | ||
DbgGuiLeak () | DbgGuiLeak () | ||
{ | { | ||
| - | _guiResCount = ::GetGuiResources (::GetCurrentProcess (), | + | _guiResCount = ::GetGuiResources (::GetCurrentProcess (), GR_GDIOBJECTS); |
| - | + | ||
} | } | ||
~DbgGuiLeak () | ~DbgGuiLeak () | ||
{ | { | ||
| - | int leaks = ::GetGuiResources (::GetCurrentProcess (), | + | int leaks = ::GetGuiResources (::GetCurrentProcess (), GR_GDIOBJECTS) - _guiResCount; |
| - | + | ||
if (leaks != 0) | if (leaks != 0) | ||
{ | { | ||
Version vom 07:51, 25. Sep. 2009
Finding GDI Leaks by counting GDI objects
class DbgGuiLeak
{
public:
DbgGuiLeak ()
{
_guiResCount = ::GetGuiResources (::GetCurrentProcess (), GR_GDIOBJECTS);
}
~DbgGuiLeak ()
{
int leaks = ::GetGuiResources (::GetCurrentProcess (), GR_GDIOBJECTS) - _guiResCount;
if (leaks != 0)
{
std::cout << "Gui Resources Leaked: " << leaks << std::endl;
}
}
private:
unsigned _guiResCount;
};