March 9, 2010

Blog Archives

Videos of developer sessions at Oredev (including mine on .net debugging)

Just a quick post to share a link to last years videos for the Oredev developer conference http://oredev.org/video Here is my .net debugging presentation where I show off some windbg + new VS.NET features and apart from all the good developer content, you might also want to check out Scott Hanselmans session on Information Overload and managing the workflow with some tips and tricks on how he manages twitter/facebook/email etc. Thank you to the organizers of Oredev for posting these, Tess Read More……(read more)

0

Tool for generating DGML graphs showing why your object can’t be collected (VisualGCRoot)

Visual Studio.NET 2010 has a new feature that allows you to create nice directed graphs with a markup language called DGML (Directed Graph Markup Language).  Visualizing object graphs with DGML Chris Lovett wrote a tool that takes GCRoot output and transforms it to a DGML document so that you can see the roots of an object in a more visual way, and finally Mohamed Mahmoud went one step further and made a debugger extension that does this for you directly.    The debugger extension is called VGCRoot and you can get the extension, and some instructions and demos for it here . The VGCRoot extensions If you are looking at a memory dump in windbg and try to figure out why your object is still sticking around, collection after…(read more)

0

New commands in SOS for .NET 4.0 Part 1

My friend and fellow debugger Brian at http://Kodehoved.dk recently wrote a couple of posts on news with sos for .NET framework 4.0 (in Danish) New SOS Commands in .NET 4 More debugging news in CLR 4 Since Danish, although a beautiful language is probably foreign to most of you I figured I’d write a summary of the new commands in English and add some comments of my own. Loading sos for .NET 4.0 As in 2.0 you will find sos.dll in the framework directory so you can load it in windbg or cdb using the full path .load C:\Windows\Microsoft.NET\Framework\v4.0.30128\sos.dll You can also use the short hand .loadby method but since the name of the core dll has changed in 4.0, you will no longer load it using .loadby sos mscorwks, instead you can now load…(read more)

0

Profilers and ASP.NET

There are a lot of different ways to troubleshoot ASP.NET issues.  I have gone over most of the things you can do with a dump that has been captured from the process.  But there is another way to get useful information out of a process and that is by using a profiler. There are a number of profilers that are available for .NET applications.  Some of the more popular ones include (most come from Brads post and there is a good list here as well): Traditional Performance and/or Memory Profilers AutomatedQA AQTime: http://www.automatedqa.com/products/aqtime/index.asp (evaluation version available) Borland Optimizeit: http://www.borland.com/opt_profiler/ (evaluation version available) Compuware DevPartner: http://www.compuware.com…(read more)

0

It’s time for TechDays Sweden again…

March 23rd and 24th I will be presenting at TechDays Sweden in Örebro.  The agenda for my session is not set in stone yet but the plan is to talk about debugging .NET production type issues as usual (Performance, Memory, Crashes, Exceptions etc.) since that is what I know best. I will be talking about them both from a developers perspective, using some of the nice features in Visual Studio .NET 2010 like dump debugging, profiling, and perhaps IntelliTrace as well as discuss options for debugging issues that occur in environments where you don’t have Visual Studio, concentrating on WinDbg/Debug Diag and other tools that lend themselves well for production environment debugging. Hope to see you there, Tess   Read More……(read more)

0

MSDN Radio (Swedish) – Tess Corner

MSDN Radio is a Swedish MSDN podcast that is Dag König puts together every other week.  The show contains a number of different segments and is usually pretty fun to listen to. Starting this week, and hopefully every other week or so during the spring, I will have a 5-15 min segment on the show called Tess Corner where I’ll be talking about current ASP.NET and other .net issues or something special I’m working on.  In the first episode posted here http://channel9.msdn.com/posts/buzzfrog/MSDN-Radio-11-Jan–Tess-Corner/ I talk about debugging .NET apps with IntelliTrace in Visual Studio.NET 2010. Check out the other MSDN episodes on http://channel9.msdn.com/tags/MSDN+Radio/ (also in Swedish) and if you listen to the show and want to…(read more)

0

Debugging Native memory leaks with Debug Diag 1.1

I often get questions about debugging native memory leaks. In other words, cases where you have high memory usage in your application but you can see that .net memory usage is not all that high. Recently I was helping out on such a case and this post details both generally how you go about troubleshooting these issues as well as what troubleshooting steps we went through in this particular case. Essentially you would go through these steps to troubleshoot a native memory leak: 1. Find out if your memory usage / leak is mostly .net memory or native memory 2. If it is native memory that is “leaking”, use a tool like debug diag 1.1. to track allocations and deallocations 3. Look at the main allocators and the stacks associated with the biggest…(read more)

0

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%.  This started happening under high load, and to get the application to start responding again they needed to restart IIS. Debugging the problem They gathered a few memory dumps during the high CPU situation for us to review and when running the sos.dll command ~* e !clrstack (in windbg) to see what all the threads were doing we found that they were all stuck in callstacks similar to this one: OS Thread Id: 0x27dc (124) ESP      …(read more)

0

About

ASP Experts...All the latest news related to asp.net and web development in one location. We do the work for you so you don't have to :)