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)

Posts
  • If broken it is, fix it you should

    Reading Material

    • 5 Comments
    One of the benefits of moving back to Sweden was for sure the 6 weeks of vacation I get every year... yeah you read it right, 6 weeks:) I came back yesterday from taking 4 of those weeks and although I do really love my job it sure is really hard to get into it again... This season I am going to start off soft with two books that were recommended to me, and since I constantly get emails asking for reading recommendations I thought I'd share... The first one is " Debugging Microsoft .NET 2.0...
  • If broken it is, fix it you should

    DigiGirlz Summer Camp 2007 - Sweden

    • 0 Comments
    I realize that not too many girls in Sweden about to start 9th grade are going to read my blog, but perhaps you have a daughter or a cousin or a friend that age... Microsoft has a program called DigiGirlz which is meant to get girls more interested in IT and this year there will be a DigiGirlz Summer Camp at Microsoft in Stockholm on the 13-15 of August (9.00-16.00). The camp is open to all girls about to start 9th grade and you get to learn cool stuff like XBOX, photoediting, Photostory, Windows...
  • If broken it is, fix it you should

    A Case of Invalid Viewstate

    • 38 Comments
    Last week I was helping a colleague of mine with a viewstate case that turned out to be pretty interesting... Scenario The customer was getting events similar to the following in the eventlog and needed to know why they occurred Event Type: Information Event Source: ASP.NET 2.0.50727.0 Event Category: Web Event Event ID: 1316 Date: 2007-06-11 Time: 09:48:02 User: N/A Computer: MYMACHINE Description: Event code: 4009 Event message: Viewstate verification failed. Reason: The viewstate...
  • If broken it is, fix it you should

    Post Index

    • 3 Comments
    Piers commented on the hang walkthrough post that it would be nice to have a post index since it's a bit of a pain to search through blogs when they get too big. I totally agree. I don't know how many times I have ended up using the search box to find one of my posts when I needed to send them to people, because I have managed to not tag my posts the way even I expected them to be tagged:) and even the times when they were tagged ok, there was too much "next" clicking... So... as a courtesy to myself...
  • If broken it is, fix it you should

    Bag of Chips: What should I do with my butler?

    • 7 Comments
    This year the Swedish MS Office won the "Best place to work" award from the Great Place to Work institute for the second year in a row. I know, I know, we are the borg and all that, but heck, it is a really good place to work... anyways... what does this have to do with butlers? Well, this company James decided to give all the MS employees two hours of butler service and I just can't figure out what to do with mine so I figured maybe you guys have some good ideas:) So far I have discarded ...
  • If broken it is, fix it you should

    WinDBG Scripts

    • 7 Comments
    I see post-mortem debugging as: 39,5 % taking memory dumps at the right time 20,5 % running the same ol' commands over and over 31 % jumping to conclusions based on experience and proving the theory, and... 9 % pure luck, i.e. you happen to stumble upon something when poking around Don't you just love it when people apply arbitrary percentages to abstract things, especially here, 9% of what, and how did I get to that conclusion :) And have you noticed that as opposed to this list...
  • If broken it is, fix it you should

    Swedish .NET Debugging PodCast

    • 3 Comments
    I know most of you probably don't know Swedish, but for those of you who do, here is a link to a podcast http://buzzfrog.blogs.com/zabrak/2007/04/av_91_tes... where Dag König is interviewing me about .NET issues and debugging. Laters, Tess
  • If broken it is, fix it you should

    .NET Garbage Collector PopQuiz - Followup

    • 36 Comments
    It was really exciting to see that so many people answered the .NET GC PopQuiz , especially seeing that so many had great answers. Perhaps the questions were too easy:) The reason I posted the pop quiz in the first place is that, as opposed to Phil, who commented that none of this should really matter to the developer:), I do think that a good understanding of what happens behind the scenes when you are programming on top of a lot of code that you don't control, is important since it tells you...
  • If broken it is, fix it you should

    .NET Garbage Collection PopQuiz

    • 25 Comments
    Time for a little pop-quiz/potential interview questions to get some action going in the comments section... Feel free to answer any or all of the below questions, I'll follow up with a post later if all of them are not answered... 1. How many GC threads do we have in a .NET process running the Server version of the GC on a dual-core machine? 2. What GC mode is used in the web development server (cassini) on a quad proc machine? Why? (you can choose from server, workstation or concurrent...
  • If broken it is, fix it you should

    Things to ignore when debugging an ASP.NET Hang - Update for .NET 2.0

    • 12 Comments
    I often get questions like "what is this thread doing?". A lot of the time it is about threads that are essential to the process but completely unrelated to the problem at hand. A while back, in the beginnings of this blog, I wrote a post about what threads you can ignore so you can focus on what is important , and according to the blog stats, it turned out to be one of the most popular posts. Since then a lot of people have wanted to see an update for 2.0. Rather than repeating the whole post...
  • If broken it is, fix it you should

    ASP.NET Case Study: Tracing your way to Out Of Memory Exceptions

    • 5 Comments
    One of my colleagues asked me to look at a memory dump for a customer and I thought that was I found was fairly interesting so here is the story. Problem description: Memory in our ASP.NET application (w3wp.exe) keeps growing and growing and requests become slower and slower as time goes by. Speaking of which, my machine is crawling to a halt right now. My problem is that I'm a collector which had seriously negative effects when moving houses because of all the stuff I hadn't used in 7 years...
  • If broken it is, fix it you should

    High CPU in GC and other badness caused by SetProcessAffinityMask

    • 8 Comments
    I thought I'd share a support story with you from a very interesting case I have. My customer is running a pretty busy ASP.NET application on an 8-way box. Actually they are running on several 8-way boxes but that doesn't really make a difference for the story... Problem description: Intermittently requests are running so slow that the ASP.NET application has to be restarted. Troubleshooting: The customer has been extremely dilligent in taking memory dumps of the process when it...
  • If broken it is, fix it you should

    Developer Summit 2007

    • 0 Comments
    A short commercial break... I'll be chatting along about ASP.NET issues at Developer Summit 2007 in Stockholm on May 23rd. http://www.cornerstone.se/expertzone/dev07/
  • If broken it is, fix it you should

    .NET Hang Case Study: The GC-Loader Lock Deadlock (a story of mixed mode dlls)

    • 23 Comments
    I'm sorry I haven't had a chance to write much lately because of a lot of different reasons. I moved houses and at the same time I started writing some managed debugging scripts for debugdiag 1.1 to allow it to automatically catch a lot of the issues that I've been writing about before. But... enough with the excuses already... I had an interesting case recently, well actually it is still on-going but during the course of the case we discovered a hang in their application caused by using mixed...
  • If broken it is, fix it you should

    I've been Tagged

    • 5 Comments
    I was Tagged by David Salgado so here are 5 things you probably don't know about me... 1. I am both a Swedish and a Spanish citizen, the Spanish part comes from my dad and I am semi-fluent in Spanish 2. One of my favourite passtimes is playing pick-a-pix (a japanese crossword game), which when I say it makes me feel like a 65 year old lady:) 3. I won one game in the Swedish Championship in 9-ball last year, unfortunately I lost out in the second round, but I'm planning to be back and fighting...
  • If broken it is, fix it you should

    Short note on some debugging related stuff...

    • 1 Comments
    December has been a very busy month, so I am sorry that I haven't had time to write anything... However, Maoni has come out with some very noteworthy material, stuff that is essential to know in order to interpret the data we are debugging correctly. There are 3 articles about the difference between perf data reported by different tools (perfmon, sos, etc.), here is hte first one which will link you to the other ones. http://blogs.msdn.com/maoni/archive/2006/12/11/dif... On a separate...
  • If broken it is, fix it you should

    ASP.NET Crash: Bad CacheItemRemovedCallback - Part II

    • 13 Comments
    In August I wrote about how you could cause a nasty high memory situation by using CacheItemRemovedCallbacks improperly, today I got a case where improper use of CacheItemRemovedCallback caused a crash, so I figured I'll use it to show you how you can use them to bring down your website in seconds... Problem description The scenario is a web site that constantly crashes within minutes or seconds of startup, and a dump has been taken on process shutdown (adplus -crash -pn w3wp.exe) Debugging...
  • If broken it is, fix it you should

    ASP.NET Case Study: Bad perf, high memory usage and high CPU in GC - Death By ViewState

    • 22 Comments
    I get enough issues relating to bad perf caused by large viewstate that I felt like it is time to dedicate some blog space to it, so here is a typical problem description for this type of problem. Problem description: Under high load the ASP.NET application will completely go down and stop serving pages, at the same time we can see in perfmon that the ASP.NET process is hogging the CPU and that memory (process\private bytes and .NET CLR Memory\#bytes in all heaps) also seems to keep rising...
  • If broken it is, fix it you should

    .NET Hang Debugging Walkthrough

    • 35 Comments
    I have talked about a number of different hang/performance issues in my posts. This post is a generic debugging walkthrough for hangs. It applies to all types of .NET processes and to some extent also to non-.net processes even though it has some .net specific items. Define the hang/performance issue The first step in troubleshooting a performance issue/hang of any kind, whether it is .NET or native is to find out what we are dealing with and what the expected resolution is. Asking yourself...
  • If broken it is, fix it you should

    ASP.NET 2.0 - Investigating .NET Exceptions with WinDbg (Compilation and Load Exceptions)

    • 19 Comments
    I have talked in earlier posts about how to log and debug .net exceptions with WinDBG. All .NET exceptions derive from System.Exception and with the following member variables. Data HelpLink InnerException Message Source StackTrace TargetSite Apart from this basic information exceptions deriving from System.Exception usually add a few member variables where they store information specific to that type of exception. This time I wanted to talk a little about some special...
  • If broken it is, fix it you should

    My Blog posts in Chinese

    • 6 Comments
    Courtesy of Ring www.cnblogs.com/ring1981 some of my blog posts are now available in Chinese. Thank you much Ring for taking the time to translate... Unfortunately I can't read them, really wish I could but learning Chinese makes debugging seem like childs play:) Joi gin :)
  • If broken it is, fix it you should

    ASP.NET Crash - Crazy looping in a SiteMap

    • 8 Comments
    It's been a while again. Lots of prepping for the debugging workshops and a bit of re-modeling done to the house but now it's time to write again... The other day I received an email about my blog with the following question (slightly paraphrased): I wanted to create a quick and dirty site map, so in my override of BuildSiteMap() I set up a small loop to add some fake sitemap nodes. public override SiteMapNode BuildSiteMap(){ for (int i = 0; i < 5; i++) myRoot.ChildNodes.Add(new...
  • If broken it is, fix it you should

    .NET Debugging - Reading material

    • 5 Comments
    I get so many emails asking for books and articles about the stuff I talk about in this blog, and I never answer them because I am a bit too lazy to come up with a list (*** shame on me ***), but I've learned now that laziness pays off, cause this morning Doug posted a reading list on his blog:) Read it here Until next time,
  • If broken it is, fix it you should

    Upcomming Premier .NET debugging workshops in northern Europe

    • 6 Comments
    I know this might be a select group, but if you have a Premier contract with Microsoft, and you live in northern Europe, and you are interested in learning .NET debugging (ok, that narrows it dow to somewhere around 2 people:)), you might be interested in the 2-day workshops I will be delivering in Stockholm and Oslo this fall. The prelimiary dates are Stockholm, Oct 23-24 and Oslo, Nov 28-29, and the class deals with the same types of topics that I talk about in my blog. To get the most out of the...
  • If broken it is, fix it you should

    .NET Memory usage - A restaurant analogy

    • 57 Comments
    My favourite author Simon Singh is a wiz at analogies. In his book The big bang he explains concepts like the doppler effect and the theory of relativity using analogies with frogs and trains that makes it not only easy to understand but you will remember them forever because of the picture they paint in your head. The other day at work I heard one of my colleagues explaining memory usage and why you get out of memory exceptions to one of his customers using a restaurant analogy. I've talked about...
Page 9 of 11 (261 items) «7891011