Memory consumption issue with WinDbg, address summary

WinDbg Debugging Benjamin Perkins
WinDbg Debugging Benjamin Perkins

I must confess being pretty good at analyzing memory dumps from a performance or an exception perspective.  I have written a few articles and labs about those types of problems: Lab 19: Debugging a high CPU hang W3WP process using WinDbg Lab 20: Debugging a low CPU hang W3WP process using WinDbg Create a memory…

0

How to capture an ASP.NET Core memory dump on Azure App Service

Azure App Service
Azure App Service

I have written numerous articles about ASP.NET and creating memory dumps, but noticed I had not written one specifically about capturing an ASP.NET Core memory dump on an Azure App Service.  Here are some of my ‘related’ articles of this matter. Create a memory dump for your slow performing Web App How to take a…

0

Must use, must know WinDbg commands, my most used

WinDbg Debugging Benjamin Perkins
WinDbg Debugging Benjamin Perkins

I like to write stuff.  As I personally use it for reference, instead of keeping it to myself, I often post it onto my blog here.  Here is my list of most used WinDbg commands and what information I get for them. I was a big fan of PSSCOR, but since MEX is now a…

2

What do C# values look like in WinDbg

WinDbg Debugging Benjamin Perkins
WinDbg Debugging Benjamin Perkins

One of the important areas you need to master when analyzing memory dumps is to recognize patterns that are normal and not normal.  You can only come to those conclusions after looking at many, many, many, many memory dumps and either remembering or taking notes on how a process looks when all is ok, so…

0

Object reference not set to an instance of an object

WinDbg Debugging Benjamin Perkins
WinDbg Debugging Benjamin Perkins

Just documenting something I did today.  I was receiving the error shown in Figure 1. “??? has encountered an unexpected error:  The requested action could not be completed.  Details:  Object reference not set to an instances of an object.” Figure 1, Object reference not set to an instances of an object exception I needed to…

0

Capture a StackOverflowException and make a dump 0xc00000fd

WinDbg Debugging Benjamin Perkins
WinDbg Debugging Benjamin Perkins

I read in this article that “Starting with the .NET Framework 2.0, you can’t catch a StackOverflowException object with a try/catch block, and the corresponding process is terminated by default. Consequently, you should write your code to detect and prevent a stack overflow.”  That is the reason why the following code was crashing my process…

1

Dumping modules from a memory dump for decompilation

WinDbg Debugging Benjamin Perkins
WinDbg Debugging Benjamin Perkins

One of my favorite WinDbg commands is the psscor4 SaveAllModules (sam).  I used to just bang that one out and use JustDecompile to look at the code to find out what was going on, like why the process was hanging or consuming more memory than expected. At the moment psscor4 does not support the most…

1

Create a memory dump for your slow performing Web App

Azure App Service
Azure App Service

There are numerous ways to create a memory dump for a slow performing Web App, but I find this one the simplest and quickest.  Follow these steps to capture a memory dump of the W3WP process responding to requests which are slower than expected.  Here are the steps: 1. Login to your KUDU console.  I…

0

MEX Debugging Extension for WinDbg

WinDbg Debugging Benjamin Perkins
WinDbg Debugging Benjamin Perkins

This has been my favorite WinDbg extension for a long time and I am very happy to see that it has been made public.  It can be downloaded from here. To load the MEX extension, copy the MEX.DLL into the winext directory under which your WinDbg client is running.  It can be placed any where…

2

How to take a memory dump from a specific App Service instance

Azure App Service
Azure App Service

I wrote this article that discussed how to monitor the different instances of an Azure App Service. As you know, when you access the KUDU console, as I discussed here, you are accessing only 1 of the multiple instances, which may or may not be having a problem. So, if you take a memory dump…

0

Creating a W3WP memory dump on Windows Server 2012 R2

IIS Internet Information Services
IIS Internet Information Services

On a web server with multiple application pools, there most likely will be multiple W3WP processes. Therefore, the first action to take when creating a memory dump of a W3WP worker process is to find which one you need to get the dump of. I wrote a short article on how to get a worker…

0

Create a W3WP memory dump, quick and easy

WinDbg Debugging Benjamin Perkins
WinDbg Debugging Benjamin Perkins

I have written a number of articles on how to create memory dumps for troubleshooting W3WP process hangs, crashes or memory consumption issues. • Create a memory dump when the W3WP process terminates using Procdump • Creating a W3WP Memory dump on Windows Server 2003 • Creating a W3WP Memory dump on Windows Server 2008 R2 • Configure Debug…

0

Debugging a hung application with WinDbg

WinDbg Debugging Benjamin Perkins
WinDbg Debugging Benjamin Perkins

There are many reasons that threads can be blocked causing an application to hang.  This is an example of one of those situations.  I loaded a memory dump into WinDbg and loaded the PSSCOR2 extension.  When I executed !syncblk,  I received the following result shown in Table 1. 0:000> !syncblk Index   SyncBlock   MonitorHeld   Recursion      Owning   Thread     Info     SyncBlock                 Owner…

0

New ProcDump version 5.0 released, using the –f parameter

WinDbg Debugging Benjamin Perkins
WinDbg Debugging Benjamin Perkins

I really like to use ProcDump for troubleshooting crashes, memory/cpu utilization issues and hangs.  I have written a number of other blogs that discuss how to use it here, here and here. The tool is small and unobtrusive, yet very powerful.  The new version of the tool has recently been released and can be downloaded…

0

Using !DumpThreadConfig (!dtc) within WinDbg

WinDbg Debugging Benjamin Perkins
WinDbg Debugging Benjamin Perkins

I have written articles about how to capture a W3WP memory dump on Windows 2003 and Windows 2008.  Once you have the memory dump, you need to analyze it to find out what is causing the problem.  One command I use while analyzing a memory dump is !DumpThreadConfig or !dtc.  Figure 1 shows the output…

0