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

    Performance Testing Web Applications - New Patterns and Practices guide

    • 2 Comments
    One of my old colleagues J.D. Meier has written a performance testing guide with the Patterns and Practices team. Here is a link to the guide, it's well worth reading: http://blogs.msdn.com/jmeier/archive/2007/10/27/now-on-msdn-patterns-practices-performance-testing-guidance-for-web-applications.aspx Laters, Tess
  • If broken it is, fix it you should

    Why is my app performing worse on .NET 2.0 than on 1.1 (or why aren't the oranges at work as tasty as the apples at home?)

    • 3 Comments
    If you were to compare the taste of the oranges in the fruit basket at work to the taste of the apples you bought on your way home and realize that they taste differently, what would your conclusion about the difference in taste be? a) They taste differently because one is an apple and one is an orange b) The apple tastes better because you eat the apple at home relaxed in your sofa and the orange while you are coding at work c) The apple tastes better because it is fresh from the store (which...
  • If broken it is, fix it you should

    .NET Hang case study - High CPU because of poorly formatted regular expressions (Identifying tight loops)

    • 13 Comments
    Sometimes you hear and accept advice but you don't really know the details behind it. That has always been the case with me and high CPU situations caused by badly formatted regular expressions. The reason I haven't really bothered to find out why is because I've never had a case on it until today... It's actually not that I haven't been interested, in fact regular expressions fascinate me in a geeky way. My favourite class in college was a class on " automata theory and formal languages " a class...
  • If broken it is, fix it you should

    My Team is Hiring

    • 10 Comments
    Time for a commercial break, If you read this blog you probably know what I do. If it is something that you would like to do for a living, now is your chance! My team (the Microsoft EMEA Internet Support Team) is hiring. We are primarily looking for a new team member in France (Paris/Les Ulis), but the main criteria apart from good skills in troubleshooting and specifically in the Internet sphere (IIS, ASP.NET etc.) and good customer service skills, is that the applicant speaks fluent French...
  • If broken it is, fix it you should

    ASP.NET 2.0 OutputCaching - Download dialog box after browsing with SmartPhone

    • 6 Comments
    A few days ago I got an interesting case with a customer who intermittently kept getting a download box with Safari and a similar one telling him that he has choosen to open Default.aspx, do you want to open or save the file, when browsing the site with FireFox. In IE it sometimes came back with the following message The XML page cannot be displayed Cannot view XML input using style sheet. Please correct the error and then click the Refresh button, or try again later. Invalid...
  • If broken it is, fix it you should

    .NET Finalizer Memory Leak: Debugging with sos.dll in Visual Studio

    • 10 Comments
    Normally I write about issues that only manifest themselves in production environment, issues that you can't really reproduce in a controlled dev environment every time you perform a certain action. In those cases you need to use tools like windbg to gather dumps and do post-mortem debugging. Windbg works really well for those types of issues, but it has its shortcommings since it is not really a managed debugger so it is much harder to set breakpoints in .NET code or step through code, or even...
  • If broken it is, fix it you should

    Creating dumps with Windbg and writing ADPlus Config files

    • 5 Comments
    My colleague Carlo just wrote a post on how to create dumps and how to configure ADPlus with config files, that I thought was really useful http://blogs.msdn.com/carloc/archive/2007/10/08/ok-now-how-do-i-capture-my-dump.aspx He also talks a little about DebugDiag, a tool for creating dumps and doing automated dump analysis for certain cases. Btw, the dumps you generate with debug diag can be read in windbd and vice versa since the dump format is exactly the same. Tess
  • If broken it is, fix it you should

    I'm presenting at Oredev in Malmo, Sweden Nov 13th-15th

    • 4 Comments
    Nov 13th-15th I will be presenting at Oredev in Malmö, Sweden. Oredev is a tech conference and this year it looks really promising considering all the big names they have brought in to present. I will be doing a presentation on Common issues in ASP.NET production environments. It will basically be a presentation on things to avoid in order to not run into some of the most common hangs/perf issues, memory issues, crashes and exceptions and for good measure I am planning to throw in some windbg/sos...
  • If broken it is, fix it you should

    Debugging Script: Dumping out ASP.NET Session Contents

    • 18 Comments
    In my last post I wrote a script to dump out all the ASP.NET requests on the heap. Since one of the most common memory issues I encounter is too much cache or session state I figured that showing you how to retreive session data would be good. A word of caution, since this script uses !dumpheap (to dump out the objects on the heap) and !objsize (to figure out the size of an object including the size of its membervariables) it may take a long time to execute if you have a very large dump, which...
  • If broken it is, fix it you should

    Debugging Script: Dumping out current and recent ASP.NET Requests

    • 22 Comments
    When you debug asp.net applications it is often useful to find out which requests are currently executing, how long they have been executing, what the querystring was etc. Since getting this information from a dump can be a long and tedious process even if you know what you are doing, it lends itself extremely well for a script. If you are only interested in the script itself, please skip to the last section, but if you're anything like me, and want to know the nitty gritty details and want to...
  • If broken it is, fix it you should

    ASP.NET Hang scenario: Kernel Debugging for Dummies

    • 8 Comments
    A local radio show has started giving out cookie points to their interviewees for personal development, and the other day my coworker decided to give me one for debugging a perf issue in kernel-mode... YAY!!! Having debugging as a profession, you might have thought that I would have done a lot of kernel debugging, but since I deal mostly with ASP.NET and .NET development most of our issues are in usermode so there is rarely a need to debug the kernel (drivers etc.). In fact, I have only debugged...
  • If broken it is, fix it you should

    An attempt to improve the blog quality

    • 3 Comments
    Courtesy of my pals on http://blogs.msdn.com/ntdebugging/ I have added a chance to give post feedback, by adding a survey at the bottom of my case studies. The survey is an anonymous "yes" or "no" click and I'll use it to figure out what type of posts and topics are most useful so if you read a post that resolves a problem for you or helps you in the right direction, please click away:) Thanks, Tess
  • If broken it is, fix it you should

    ASP.NET Memory Investigation

    • 14 Comments
    This is a bit of a continuation of ASP.NET Memory Issue: High memory usage in a 64bit w3wp.exe process so if you haven't checked it out you might want to just glance over it before reading this one to get the context of the problem and some notes on 64 bit debugging. Before I go into the details I just want to mention that what I will talk about does not only apply to 64 bit debugging even though I am using a 64 bit dump, you can just as easily see the problems I will talk, about and use the same...
  • If broken it is, fix it you should

    ASP.NET Hang Case Study: Application hangs on startup

    • 4 Comments
    Recently we have been getting quite a few similar hangs in ASP.NET. From the first look they really aren't all that similar but when we get down to the nitty-gritty we see that they all hang or rather have a very high latency, in the exact same location. Problem description: On startup, the first request for an aspx page, no matter how simple it is, will take around 2 minutes. In fact, all subsequent requests will also take 2 minutes to execute, so the server is essentially out of order. ...
  • If broken it is, fix it you should

    More reading material

    • 2 Comments
    I want to try to keep this blog free of link-listings and just publish my own case studies etc. but when I come across something like these articles by Rahul Soni, I can't help but share them The infamous debug=true attribute Post Production Debugging for ASP.NET Applications – Part 1 Enjoy, Tess
  • If broken it is, fix it you should

    ASP.NET Memory Issue: High memory usage in a 64bit w3wp.exe process

    • 11 Comments
    By default when you run IIS on a 64-bit machine you will still be running a 32-bit w3wp.exe, so apart from a few differences, like being able to use 4 GB virtual bytes instead of 2 GB virtual bytes the difference in debugging an issue on 32-bit vs. 64-bit is not that big. You will still be debugging with a 32-bit debugger and the memory will be aligned the same as in any 32-bit process on a 32-bit system. As a matter of fact, something that is very important to point out, is that if you happen...
  • 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...
Page 8 of 11 (252 items) «678910»