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)
January, 2006
MSDN Blogs
>
If broken it is, fix it you should
>
January, 2006
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
A bag of chips – Math stuff… and books…
Posted
over 6 years ago
by
Tess1
3
Comments
This is a completely off topic post but I added the “–and a bag of chips” to the blog description to allow myself to write these:) I just came across an article about teaching binary to 3rd graders , through something called the Socratic method, and it’s just an amazing read. Hmm… wonder if I can apply this on my 3 year old daughter:) As you probably could have guessed I have a special place in my heart for pure mathematics (proofs, deduction etc.). It sorta goes hand in hand with debugging...
If broken it is, fix it you should
ASP.NET Memory - How much are you caching? + an example of .foreach
Posted
over 6 years ago
by
Tess1
18
Comments
I was writing a post on debugging a high memory usage problem caused by storing too much in session scope, but I realized I got in to tangent discussions all the time so I decided to create a separate post on caching first. Caching is by far the most common cause of high memory problems. It’s an understatement to say that the cache is often overused. As with everything else nothing comes for free, so the performance you gain by storing items in cache has to be compared to the performance you...
If broken it is, fix it you should
.NET Memory Leak Case Study: The Event Handlers That Made The Memory Baloon
Posted
over 6 years ago
by
Tess1
45
Comments
It always feels like issues come in clusters. One week we get tones of cache related cases, next week everyone is stuck in some lock and so on. Lately I have had a number of issues where there were memory leaks related to event handlers. Problem description We have a pretty easy to repro memory leak, even with very few users memory grows at a high rate and the memory is never released. The usual suspects are eliminated, i.e. we know that the app doesn’t cache much or store much or anything...
If broken it is, fix it you should
Request for feedback
Posted
over 6 years ago
by
Tess1
34
Comments
Not sure if anyone is reading this blog, but if you are and there is something specific you want me to blog about please let me know. On my TODO list right now i have Debugging managed memory leaks Automating debugging with .shell and .foreach etc. Debugging .net 2.0 applications but I want this blog to be a useful resource, so rather than just blogging about what interests me, let me know what interests you:). And I'm also interested in getting feedback on if my blog posts are...
If broken it is, fix it you should
Debugging Tips: Use windbg as a calculator, a chat client and more…
Posted
over 6 years ago
by
Tess1
4
Comments
Yes, you read it right… it’s not only a debugger, for only $19.95 extra, we’ll throw in a free calculator and chat client:) and you can even run applications from windbg’s command prompt. Calculator Jokes aside, not even I would open up windbg only for the purposes of doing calculations, but when you are debugging and need to do some simple conversions from hex to decimal, and some integer calculations you don’t have to switch to calc.exe, you can just use windbg’s expression evaluator. ...
If broken it is, fix it you should
Back to Basics - How do I get the memory dumps in the first place? And what is SOS.dll?
Posted
over 6 years ago
by
Tess1
20
Comments
Windbg.exe and its friends can be installed from http://www.microsoft.com/whdc/devtools/debugging/default.mspx Once you have them installed on a machine, you can simply copy the directory where they are installed (usually c:\program files\debugging tools for windows) to any machine that you need them on. No other installation is really necessary. Before we even start with how you get the dumps, you might be interested in what a memory dump actually is... A memory dump is a snapshot of a...
If broken it is, fix it you should
A Hang Scenario, Locks and Critical Sections
Posted
over 6 years ago
by
Tess1
19
Comments
The situation here is that the server at times slows down considerably, or even hangs completely. Requests start timing out and no new requests seem to be getting through. The scenario below is a bit simplified but it shows the technique to find owners, waiters and locations for locks. A quick look with ~* kb (listing the native stack for all threads) shows us that most threads are sitting in this type of stack… 30 Id: d78.c68 Suspend: 1 Teb: 7ff5a000 Unfrozen ChildEBP RetAddr Args to Child ...
Page 1 of 1 (7 items)