Getting the PID and TID of a COM Call

There are times when I may be debugging a latency issue that involves a COM component running in a dllhost process. Depending on where we are in that process, I may need to debug the dllhost process in addition to the aspnet_wp or w3wp process. So how do you know which dllhost process to debug,…

0

Digging Into Objects

One of our engineers asked me yesterday about getting the total size for objects in memory. The debugger is adept at doing such things, but you have to understand how object sizes are interpreted. Let me start by giving you some background on how I’ll typically deal with troubleshooting a high memory situation. The first…

6

The Infamous Debug Attribute

Our most common issues deal with memory problems. Memory problems come in many flavors, but one of the more common ones is the OutOfMemory exception or OOM. A lot of the OOM issues we see are due to high memory conditions, but some are not. When an OOM condition is not accompanied by high memory…

6

Are you in GC?

When you’re debugging, you’re really just looking into internal memory structures in a process. When it comes to debugging an ASP.NET application, you are oftentimes dumping out method tables, objects, etc. The ability to do so requires a known address. That’s no problem most of the time. However, if you’re in a GC when a…

2

Clarifications on Debugging

When I’m talking to ASP.NET developers who are experiencing memory issues, crashes, hangs, etc., I will often say, “Hook up the debugger and see what’s going on.” More often than not, the response that I get from that recommendation is one of confusion. Most developers think of “the debugger” as Visual Studio or some other…

3

Welcome!

I’m not a fan of “read all about me” blog entries, but I would like to introduce myself so that you’ll know who I am. I’ve been working at Microsoft for a little over 7 years. I’ve been on the FrontPage team, the Word team, the Visual Basic team, and now the ASP.NET team. I work…

0