Collecting a memory dump with ProcDump when ASP.NET ISAPI is reported unhealthy or deadlock detected in an ASP.NET application

PROBLEM You are running an ASP.NET application in IIS. You noticed that the worker process shuts down and restarts. At the same time you see one or both of the following events in the event logs: Event ID 2262: ISAPI ‘C:\Windows\Microsoft.NET\Framework\<version>\aspnet_isapi.dll’ reported itself as unhealthy for the following reason: ‘Deadlock detected’. Event ID 5013: A…

IIS application pool may be terminated while collecting dump

Consider the following scenario: You are running a web application on IIS and you need to collect a memory dump of the application pool process (w3wp.exe). W3wp.exe in subject consumes huge memory, for example, around 40 GB, and it takes some time to write the dump file. When you try to collect a memory dump…

How to configure Debug Diagnostic to capture Stack Overflow exceptions

I have just found that one of my colleauges, Spike, posted a nice blog article here explaining how to create a StackOverflowException using .NET Framework. He also explained how to find the root cause of the issue with live debugging using WinDBG. In some of cases, especially where live debugging is not possible, you may…

Debug Diagnostic Tool (DebugDiag) 1.2 is released

Debug Diagnostic Tool (a.k.a. “Debug Diag” or “DebugDiag”) version 1.1 is one of the most popular debugging tools which helps us to collect/analyze crash or hang dumps. However most of the features of the v1.1 is not working on Windows 7 or Windows Server 2008 / R2. Today, we have released Debug Diagnostic 1.2 which works on Windows…


No traffic is logged when using Fiddler on localhost

Fiddler is a great tool for logging HTTP/HTTPS traffic in the client side. However, you may see that no traffic is logged if you would like to debug your web site by browsing http://localhost or If this is your case then you can try to browse the web site with http://ipv4.fiddler or http://ipv6.fiddler URLs….

Decompiler tools for .NET Framework

A .NET application is compiled into IL (intermediate language) during compile time and it is compiled into platform specific binary code during runtime by JIT (Just in time) Compiler. You can decompile IL code to get the source code of the assembly. This is achieved by System.Reflection namespaces and classes. So you can write your own de-compiler….


Do not collect 32bit process’ dumps with 64bit task manager

What is a dump file? A dump file is a snapshot of a process’ memory written on the disk. You can use a dump file to troubleshoot several issues including crashes, hangs and performance problems. Basically, you collect “crash dumps” if a process quits unexpectadly or “manual dumps” if there is a hang or performance issues with…


Free download – PSSCOR2 – New WinDBG extension for debugging .NET 4.0 applications

PSSCOR extension is a debugger extension which is super-set of SOS.DLL. It is used for debugging .NET issues with WinDBG, such as high memory / CPU usage, crashes, etc… We have released PSSCOR2 for .NET 2.0 related issues before and we were using PSSCOR4 for a long time in Microsoft for .NET 4.0 related issues and…


Collect network trace data within your ASP.NET application

If you read one of my previous posts about reverse engineering of a shortened URL, then you probably saw the comment from Richard Deeming, saying that there is a better approach to achieve the task. The comment was about to avoid unnecessary trip between the client and the server and I have added an update…

Performans iyileştirme makaleleri

IIS ve ASP.NET performans iyileştirme makalelerine de linkler içeren oldukça faydalı bir indeks. Mutlaka “favoriler” altına eklenmeli: Developer Tools & Platforms Performance –AMB