Sign In
If broken it is, fix it you should
Using the powers of the debugger to solve the problems of the world - and a bag of chips by Tess Ferrandez, ASP.NET Escalation Engineer (Microsoft)
Tess Ferrandez
I work as as an Escalation Engineer in the ASP.NET developer support team at Microsoft.
My job is to help developers fix problems (memory leaks, hangs, crashes etc.) in their applications, using troubleshooting tools like debuggers and profilers.
In this blog I share tips and tricks for troubleshooting those issues, along with random tidbits about computing and my life at MS.
If you are new here, start with:
My debugging labs (Buggy Bits)
My Silverlight labs (building a game)
Thanks for visiting my blog
@TessFerrandez
Options
About
Email Blog Author
RSS for posts
Atom
RSS for comments
OK
Search this blog
Advanced search options...
Search In:
Everything
Blogs
Forums
People
Groups
Places
Pages
Date range:
All Time
Last Year
Last 6 Months
Last 3 Months
Last Month
Last Week
Last Two Days
Tags
ASP.NET
Crash scenarios
Debugging
Debugging Labs
General debugging tidbits
Kinect SDK
Memory issues
Pages
Performance issues and hangs
presentation
Silverlight
SOSEX
Archive
Archives
August 2011
(3)
May 2011
(1)
December 2010
(1)
November 2010
(1)
September 2010
(3)
August 2010
(2)
June 2010
(1)
May 2010
(1)
April 2010
(3)
March 2010
(4)
February 2010
(2)
January 2010
(2)
December 2009
(2)
November 2009
(2)
October 2009
(4)
September 2009
(4)
August 2009
(2)
July 2009
(1)
June 2009
(3)
May 2009
(3)
April 2009
(5)
March 2009
(9)
February 2009
(2)
January 2009
(6)
November 2008
(8)
October 2008
(7)
September 2008
(7)
August 2008
(5)
July 2008
(1)
June 2008
(7)
May 2008
(12)
April 2008
(14)
March 2008
(12)
February 2008
(17)
January 2008
(5)
December 2007
(2)
November 2007
(1)
October 2007
(8)
September 2007
(3)
August 2007
(7)
June 2007
(5)
May 2007
(1)
April 2007
(5)
March 2007
(4)
January 2007
(1)
December 2006
(1)
November 2006
(2)
October 2006
(4)
September 2006
(3)
August 2006
(3)
June 2006
(1)
May 2006
(1)
April 2006
(5)
March 2006
(2)
February 2006
(8)
January 2006
(7)
December 2005
(3)
November 2005
(6)
MSDN Blogs
>
If broken it is, fix it you should
Posts
Subscribe via RSS
Sort by:
Most Recent
|
Most Views
|
Most Comments
Excerpt View
|
Full Post View
If broken it is, fix it you should
Kinect SDK for Windows – Hover Button / Hover Control
Posted
5 months ago
by
Tess1
12
Comments
This is part of what will be a series of posts on Kinect SDK demos and howtos, go here to see the whole list . In this post I will talk about how you can create a simple and versatile Hover Button / Hover Control for Kinect with a Metro look. The control is largely based on the Kinect Buttons from Shai Raiten, so all cred goes to him, this is just a customization of his work. Hover button UI The HoverButton control can have either an image or text or both and can be resized to fit your needs...
If broken it is, fix it you should
Kinect SDK for Windows–Extensions Methods
Posted
5 months ago
by
Tess1
0
Comments
This is part of what will be a series of posts on Kinect SDK demos and howtos, go here to see the whole list . Every time I create a new Kinect SDK demo I find myself doing the same setup so I created a few extensions methods that I use in my projects to make life easier. I figured I would share them here since I will be using them in my blog posts about Kinect in the future. The extension methods are SetSmoothTransform, which sets the smoothing parameters on the skeleton to stabilize the skeleton...
If broken it is, fix it you should
Kinect SDK for Windows – demos
Posted
5 months ago
by
Tess1
0
Comments
Lately I have been working quite a bit with the Kinect SDK for Windows, which you can install and use on your computer from our research department Geting started The only thing you need to get started is a computer running Windows, a Kinect device (must be the one with a power chord, but you can buy the power chord separately very cheep at most stores where they sell Kinect), and the Kinect SDK. Once you have everything installed I suggest you go to Channel9 and watch the QuickStarts to...
If broken it is, fix it you should
Entering geek territory or exiting geek territory? That’s the question…
Posted
8 months ago
by
Tess1
23
Comments
After 12 years in support I decided to lift my head above the WinDbg window and take a look at what the rest of the world has to offer… In fact, I decided not only to have a look but take a long long jump to the other end of the software spectrum, miles away from “My ASP.NET app hangs” to the world of “This new stuff that will be released in 2014 is soooo cool I’m gonna die”, and believe me, it’s a scary leap For the next two months I’ll be working in a team at Microsoft called DPE (Developer...
If broken it is, fix it you should
Reader email: Need help troubleshooting perf/memory issues
Posted
over 2 years ago
by
Tess1
7
Comments
I get several emails every day (through the blog) with urgent requests to help troubleshoot memory issues or memory related performance issues. Some just say “we have a memory issue, how do I troubleshoot it?” and others are far far more detailed with links to dumps and everything:) I love getting emails, but since I have a day job too (troubleshooting such issues:)) I unfortunately have to ignore most such requests through the blog:( to have time to help the customers that contact...
If broken it is, fix it you should
Fix for RestartWWWService=false in Visual Studio 2010
Posted
over 2 years ago
by
Tess1
0
Comments
We recently published a fix for the following problem: You create a deployment project for a web application in Visual Studio 2010, set the deployment property RestartWWWService=false and deploy to a Windows 2003 server. http://msdn.microsoft.com/en-us/library/22f9106b.aspx In this situation the w3wp.exe process will still be recycled even though the RestartWWWService is set to false. The fix is available at http://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=32285...
If broken it is, fix it you should
Debug Diag 1.2 (Beta)
Posted
over 2 years ago
by
Tess1
22
Comments
Are you looking for some good stuff to put in your family’s Christmas stockings this year? Maybe a new phone, a controller for your gaming console, why not a brand new debugging tool:) Jokes aside, I get peppered with questions about Debug Diag and if there is a new version coming that will support Windows 7 / Windows 2008 and luckily some of my EE colleagues have been and are still working hard at making this happen. While it is not available for public download yet at the MS download site, Beta...
If broken it is, fix it you should
Do you know ISA/Forefront and want to work in the cube next to mine (Sweden)?
Posted
over 2 years ago
by
Tess1
1
Comments
If you live in Stockholm, know a lot about ISA/Foreftont/TMG/UAG and you’re just aching to spend the days debugging and troubleshooting interesting problems, we have a full-time Microsoft position open right now. Not only that, but you would get to have your morning “fika” with some fine people like Graham , Spike and Johan :) (ok, better stop now before this turns into an infomercial) Anyways, if it tickles your fancy, you can read more about it on the ISA blog and send your CV to my manager Roffe...
If broken it is, fix it you should
Capturing memory dumps for 32-bit processes on an x64 machine
Posted
over 2 years ago
by
Tess1
13
Comments
This is an issue that I often get questions around and we often have cases where we have to re-capture memory dumps because the memory dumps were captured the “wrong” way. The short story is: If you are executing a 32-bit process on a 64-bit machine, (which is the default case for IIS on x64 machines for example) you need to capture the dump with a tool that allows you to create 32-bit dumps. How do you know if your process is 32-bit? If you are on a 64-bit machine, you can check...
If broken it is, fix it you should
Help! !clrstack is not showing any method names
Posted
over 2 years ago
by
Tess1
0
Comments
From time to time I get questions about missing method names in the sos !clrstack output, like this: 0:019> !clrstack OS Thread Id: 0x5d0 (19) ESP EIP 0f31f340 7c80bef7 [HelperMethodFrame_1OBJ: 0f31f340] 0f31f398 1449167a 0f31f3c4 144915e6 0f31f3f4 10d81b48 0f31f4b4 793e25cf 0f31f4bc 79366b3d 0f31f4d4 793e2734 0f31f4e8 793e26ac 0f31f678 79e7c0e3 [GCFrame: 0f31f678] Jonathan Dickinson from SourceCode, just emailed me and told me that he had written an article about this...
If broken it is, fix it you should
Getting full user mode dumps automatically when your process crashes
Posted
over 2 years ago
by
Tess1
8
Comments
I recently got a question about if it is possible to generate full user mode dumps automatically every time the process crashes (without having debug diag or adplus installed and monitoring your system). This would be useful for example if you are setting up a site, and you want to make sure you get dumps if it ever crashes so that you don’t have to repro the issue at that point, just to get data. It turns out that starting with Windows Server 2008 and Vista + SP1, Windows Error Reporting...
If broken it is, fix it you should
The SQL Server Support Team in Stockholm is hiring
Posted
over 2 years ago
by
Tess1
1
Comments
If you are a contractor in Stockholm, skilled in SQL, have a look at this post: http://blogs.msdn.com/b/grahamk/archive/2010/06/22/the-sql-server-support-team-in-stockholm-is-hiring.aspx Have a good one, Tess
If broken it is, fix it you should
.NET Memory Leak: XslCompiledTransform and “leaked” dynamic assemblies
Posted
over 2 years ago
by
Tess1
4
Comments
I have written before about high memory usage caused by improper usage of XmlSerializer objects both in a case study and in a debugging lab . The problem there was that every time you create a new XmlSerializer object with a non-default constructor, you generate a new dynamic assembly that contains the definition and methods for the serializer. Since assemblies can’t be unloaded from a process unless the application domain they are loaded in is unloaded memory will keep increasing if...
If broken it is, fix it you should
New Visual Studio 2010 and .NET 4 debugging content
Posted
over 2 years ago
by
Tess1
0
Comments
It’s been a pretty busy few weeks at work coupled with some vacation so I’ve been lagging a bit with the blogging, so sorry for bombarding the blog with new posts now:) As you all know, Visual Studio 2010 just released and there is a lot of new content out there and I thought I’d mention a few in the debugging/troubleshooting space. ScottGu wrote a post on the VS 2010 debugger improvements as part of his VS 2010 and .NET 4 post series where he talks about news with Data Tips and Breakpoints. The...
If broken it is, fix it you should
Debugging a classic ReaderWriterLock deadlock with SOSex.dll
Posted
over 2 years ago
by
Tess1
2
Comments
I was helping out on an issue the other day where the process would stall if they added enough users in their load tests. Btw, serious kudos to them for making load tests, so much nicer to work with a problem in test rather than when it is getting critical on a production machine. We gathered some memory dumps with debug diag of the asp.net process (w3wp.exe) and found that most of the threads were waiting in this type of callstack: NOTE: I have changed a lot of function names and...
If broken it is, fix it you should
IIS and PAE
Posted
over 2 years ago
by
Tess1
12
Comments
I recently got a question by one of my customers about PAE and IIS that I thought I’d share the answer to. Their environment looked something like this: 32bit OS (Windows 2003) IIS 6 with multiple application pools, where each app pool hosts a number of applications ~20 GB RAM They were having problems with out of memory exceptions and also with paging under high load. They knew a lot about their application and memory usage in general, so they knew what they were using the memory...
If broken it is, fix it you should
New debugger extension for .NET (PSSCOR2)
Posted
over 2 years ago
by
Tess1
19
Comments
Tom just blogged about a new debugger extension called PSSCor2, which is a superset to the SOS.dll extension that ships with the .net framework. PSSCor2.dll has been around for quite some time at Microsoft, and pretty much everyone debugging .net code with windbg within Microsoft is using this since it contains all the goodness of sos.dll plus a lot of special methods for asp.net and other technologies running on top of the .net framework. The news now is that after a lot of hard work by Tom...
If broken it is, fix it you should
Videos of developer sessions at Oredev (including mine on .net debugging)
Posted
over 2 years ago
by
Tess1
13
Comments
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
If broken it is, fix it you should
Tool for generating DGML graphs showing why your object can’t be collected (VisualGCRoot)
Posted
over 2 years ago
by
Tess1
7
Comments
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...
If broken it is, fix it you should
New commands in SOS for .NET 4.0 Part 1
Posted
over 2 years ago
by
Tess1
4
Comments
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...
If broken it is, fix it you should
It’s time for TechDays Sweden again…
Posted
over 2 years ago
by
Tess1
2
Comments
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...
If broken it is, fix it you should
System.Configuration.ConfigurationErrosException “Unrecognized element ‘setting’” and other unrecognized elements
Posted
over 2 years ago
by
Tess1
7
Comments
If you have a .NET configuration file with multiple <setting> elements, you may get the following exception: Unhandled Exception: System.Configuration.ConfigurationErrorsException: Unrecognized element 'setting'. (F:\MyApp\bin\Debug\MyApp.exe.config line 11) at System.Configuration.BaseConfigurationRecord.EvaluateOne(String[] keys, SectionInput input, Boolean isTrusted, FactoryRecord factoryRecord, SectionRecord sectionRecord, Object parentResult) at System.Configuration...
If broken it is, fix it you should
MSDN Radio (Swedish) - Tess Corner
Posted
over 2 years ago
by
Tess1
1
Comments
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...
If broken it is, fix it you should
Debugging Native memory leaks with Debug Diag 1.1
Posted
over 2 years ago
by
Tess1
27
Comments
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...
If broken it is, fix it you should
High CPU in .NET app using a static Generic.Dictionary
Posted
over 3 years ago
by
Tess1
22
Comments
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...
Page 1 of 10 (241 items)
1
2
3
4
5
»