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)

February, 2006

  • If broken it is, fix it you should

    .NET Memory Leak: XmlSerializing your way to a Memory Leak

    I hate to give away the resolution in the title of the blog since it takes away a lot of the suspense:) but I can't figure out a better way to name the blog posts and still keep them nicely searcheable so here we go... This one has come up a number of times, in fact so many that I finally wrote a kb article on it a couple of years ago. I'll give you the link at the bottom of the blog post. I specifically remember one time when I had a case on this. It was a Saturday at 2 am and this customer...
  • If broken it is, fix it you should

    ASP.NET Performance Case Study: Web Service calls taking forever

    This issue has been pretty frequent since .net came out, and I am bringing it up for two reasons. It is something I think every web developer calling web services should be aware of... and It is a good example of how the product changes based on feedback from support incidents etc. to better suit our customers Problem Description We have an ASP.NET application acting as a GUI to our middle tier (Web Service) and at peak times the application is dead slow. Requests start timing out...
  • If broken it is, fix it you should

    ASP.NET Memory Leak Case Study: Sessions Sessions Sessions…

    In ASP.NET 1.1 as you probably know, there are 3 different locations to store session objects. In proc which stores session variables in the cache, State server which stores it in the state service and finally SQL Server . There are of course pros and cons of each but no matter which one you use, you should be careful with how much you store in session state if you want your application to be scalable. For in-proc session state, storing too much in session means high memory usage. For state...
  • If broken it is, fix it you should

    .NET Memory: My object is not rooted, why wasn't it garbage collected?

    I got a comment on one of the posts asking this question and I started writing a comment-answer but it turned into a long-winded rant so I decided to blog it instead:) So you're looking at a dump and run !gcroot on your object but it doesn't find a root. Then why is it still around on the heap... There are many reasons for this but the short answer is: It was still alive (rooted) last time a garbage collection for that specific generation was run. This is not completely true... it could...
  • If broken it is, fix it you should

    A .NET Crash: How not to write a global exception handler

    I’ve written quite a few posts on memory issues because that is the type of problem we get most frequently in support, but I thought I’d break it up a little bit with a post on a crash scenario. This is a problem that I have seen a number of times in cases throughout the years and it also turns out to be a pretty nice sample for showing how to debug a stackoverflow crash in .net. Problem description From time to time ASP.NET crashes with the following event in the eventlog: Event Type: Warning...
  • If broken it is, fix it you should

    .NET Crash: Managed Heap Corruption calling unmanaged code

    If someone asked me, what is the nastiest types of issues you get? I would say managed heap corruption, closely followed by native heap corruption. Btw, if you are new to debugging .net issues with windbg this case study might not be the best one to start with. This is about as hard as it gets when debugging .net issues, so take a stroll through my other posts first. Ok, you’re still here:) let’s see how we tackle this one… Problem description Once in a while, completely randomly the...
  • If broken it is, fix it you should

    .NET in SQL Server 2005 – Making .net code more reliable

    A while back I got interested in the new .net/CLR features in SQL Server 2005 such as .net stored procedures, functions, triggers etc. First off let me just say that the extent of my knowledge about databases is pretty much limited to “select * from authors” so I have to admit that my interest was triggered mostly by the fact that I wanted to know how we were going to debug it J I started off as I usually do by taking a simple sample and then modifying it to the point where it would generate...
  • If broken it is, fix it you should

    Contacting Tess...

    I have been receiving a lot of email lately asking for help on particular issues. Unfortunately I can not give attention to individual issues as I am posting to this blog in my own free time or on the rare occasions that slots of time open during my workday. I hate to say no, it's not really in my nature:) but I have to, so I would ask you kindly to go through our official channels for getting support at http://support.microsoft.com if you need more in-depth help on an issue, and you will get...
Page 1 of 1 (8 items)