CLRMD: .NET Crash Dump and Live Process Inspection

Lee Culver, a software developer on the .NET Runtime team, has shipped an awesome managed code library for anyone interested in analysing memory dumps and the internals of running .NET applications.  Known as CLRMD, this library allows you to write code that does all the kinds of stuff you do with the SOS, PSSCOR2, PSSCOR4 …


New CLR and .NET Performance tool

Vance Morrison, CLR performance architect here at Microsoft, has released a new tool for conducting performance investigations on .NET applications. It is called PerfView and you can read more about it on his post here. You can download it here. It is designed to have as low an overhead on the application being investigated although…


Tips for successful .NET Debugging with WinDBG

Here are my tips for pain free .NET debugging with WinDBG 1) Always use a 32-bit debugger for a 32-bit process and a 64-bit debugger for a 64-bit process, both to generate the dump and to analyse it. Use usermode dumps only (managed debugger extensions are not expected to work with kernel mode) and ensure…


Long paths and .NET

I was helping a colleague recently on an issue to do with long file system paths and the challenges and limitations of handling them in .NET. I knew there were issues but could not recall all the details. Anyway, I just came across a wrapper class on Codeplex to assist in handling long paths. The…


Finding the .NET version in a debug session

An interesting little question came up on one of our internal discussion groups today. “How can I find in a debug session the version of the .NET runtime being used in the debuggee?” [in an automated/scripted fashion and without using debugger extensions or symbols] Here is what I came up with: 0:029> !for_each_module .if (…


Update to CLR 2.0 version history post

I finally got around to doing an update to my CLR 2.0 version history post, to which there is a permanent link on on the home page of this blog titled “CLR 2.0 Fixes” under the “Articles, list and resources” heading. HTH Doug


Some ASP.NET, IIS and CLR fixes

My job involves a wide variety of stuff, from investigation, debugging, diagnosing and solving of specific customer problems through passing on product feedback and bug reports to product groups and mentoring other support engineers on their cases to looking at how we can make our support processes and products better. Many of the customer problems…


Summary of ASP.NET Versions, Updates and Hotfixes

[Note: November 2010 Some recent fixes added] [Note: September 2009 I am in the process of trying to bring this list up to date. It may not be complete] There is nothing worse than wrestling with a problem for ages only to discover later that there is already a fix for it. I therefore felt…


“Failed to load data access DLL, 0x80004005” – OR – What is mscordacwks.dll?

Ever seen this error in a WinDBG/CDB debug session? Failed to load data access DLL, 0x80004005 Verify that 1) you have a recent build of the debugger (6.2.14 or newer)             2) the file mscordacwks.dll that matches your version of mscorwks.dll is                 in the version directory             3) or, if you are debugging a…


Recent updates for Microsoft .NET Framework 3.5 SP1

I wrote previously about fixes that are available for three issues that can occur when you install SP1 for .NET Framework 3.5. In addition to those three CLR issues, there were some other problems caused by the service pack which is why we also released the rather cutely named “Family Update” for .NET Framework 3.5…