I’m trying to track down an issue in our MFC code that looks like a resource limitation issue. Memory and CPU look fine. According to the processes tab on the Task manager our GDI objects look in line with other applications, but our USER objects appear to be a factor of 10 greater then other applications.
What is a “USER object” and what are the limits?
Here is a “classic” MSDN article: Give Me a Handle, and I’ll Show You an Object
Last time I was tracking down Windows object leaks (which i suspect you have) Process Explorer was handy (handley?). The lower-pane could show some allocated system objects, plus it could do the simple USER, GDI, etc object counting.
The desktop heap, which is a pool of memory where the real “stuff” the handle represents lives (at least some handles, not kernel handles at least). It’s sometimes not so much how many handles you have allocated but how much memory each object under that handle is using. You can debug the heap this way. It is a pain to install.