High CPU in .NET app using a static Generic.Dictionary

A couple of weeks ago I helped out on a high CPU issue in an ASP.NET application. Problem description Every so often they started seeing very slow response times and in some cases the app didn’t respond at all and at the same time the w3wp.exe process was sitting at very high CPU usage 80-90%. …

29

Advanced .NET Debugging book

Last week i got the new Advanced .NET Debugging book by Mario Hewardt (co-authored with Daniel Pravat) in the mail.  I had the pleasure of tech reviewing it earlier this year and it is a really good deep dive in .net debugging and .net internals. The book talks about debugging .net apps with WinDbg and…

14

Recap of Oredev and some .net debugging videos

This week I attended and spoke at the Oredev conference in Malmö Sweden, and it was great fun as usual. It was a pretty productive few days with a lot of good talks and conversations with some really cool people. I’ll put up a link to the talk as it becomes available Channel9 video and…

7

WOHOO!!!, Debug Diag 64bit is finally released

For all of you who have been asking me if there is a 64bit version of Debug Diag (used to debug 64 bit processes), I am happy to say that yes, Debug Diag 1.1 64bit is now released. You can download it here: http://www.microsoft.com/DOWNLOADS/details.aspx?FamilyID=28bd5941-c458-46f1-b24d-f60151d875a3&displaylang=en#filelist And an updated whitepaper talking about how to use it is…

17

.NET Hang Case study: The danger of locking on strings

I had an interesting case today where an asp.net app was stuck in a true deadlock.  In other words two threads were both waiting for resources that the other thread owned. The scenario in these cases usually goes something like this: FunctionA (locks on ResourceA) and calls FunctionB where it needs ResourceB FunctionB (locks on…

6

Finding memory leaks with ANTS Memory Profiler

I was out looking for some sample scripts for tinyget and ran across this ANTS Memory Profiler review where Scott Seely has tested it out on some of my debugging labs. I haven’t had the time and/or opportunity to test it out myself but since many people have asked me if I had used it…

6

ASP.NET Case Study: Hang when loading assemblies

The other day I came across an issue where an ASP.NET site stopped responding and didn’t start serving requests again until the W3WP.exe process was restarted. We grabbed some memory dumps with debug diag before restarting the process to see what was going on. Debugging the dumps: I opened the dump in windbg, and loaded…

3

Busy November, presenting at TechED Europe and Oredev

TechED Europe – Berlin -  9-13th of November This will be the 2nd time I present at TechED. Last time I had an absolute blast and heard some really  good speakers. I am still working with the TechED team on exactly what type of sessions I will get, and exactly what I’ll be talking about…

2