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

    ASP.NET Case Study: Hang with mixed-mode dlls

    • 4 Comments
    If you use mixed mode dlls (assemblies with .net and c++ code) you need to take care to not have any .net entry points so that you don't end up with a GC/LoaderLock deadlock like this one . What is a managed/.net entry point you might ask... it basically means that during the loading of the assembly the assembly may call some .net methods. For example, if you have a dllmain that calls into managed code, or if you have managed constructors for static value types. In esscence, anything that would allow...
  • If broken it is, fix it you should

    .NET Debugging Demos Lab 7: Memory Leak

    • 3 Comments
    This is the last debugging lab in the .NET Debugging Demos series. By now you should have the basics down for troubleshooting hangs, perf issues, memory leaks and crashes in .net applications. Hope you have enjoyed your debugging sessions. The last one in the series is a managed memory leak caused by holding on to resources in an unexpected way. Since it is the last one I have tried to make the questions a little bit less leading than the previous ones:) Previous demos and setup instructions If you...
  • If broken it is, fix it you should

    ASP.NET Viewstate error - Validation of viewstate MAC failed

    • 11 Comments
    Last week I was working with on a case where they were getting this error message HttpException (0x80004005): Validation of viewstate MAC failed. If this application is hosted by a Web Farm or cluster, ensure that configuration specifies the same validationKey and validation algorithm. AutoGenerate cannot be used in a cluster Typically this occurrs if the application is on a webfarm and autogenerate is used as the validation key. This is because if you request a page and click a button for example...
  • If broken it is, fix it you should

    .NET Debugging Demos Lab 6: Memory Leak - Review

    • 10 Comments
    Since it took me so long to get Lab 6 out the door i'll post the review right away... After this we only have one memory leak lab to go before you have gone through the whole lab set. Previous demos and setup instructions If you are new to the debugging labs, here you can find information on how to set up the labs as well as links to the previous labs in the series. Information and setup instructions Lab 1: Hang Lab 1: Hang - review Lab 2: Crash Lab 2: Crash - review Lab 3: Memory Lab 3: Memory ...
  • If broken it is, fix it you should

    .NET Debugging Demos Lab 6:_Memory Leak

    • 3 Comments
    It's been about a week since I posted the debugging challenge for this lab, things have been a bit busy lately so sorry about the tardiness on posting the lab. I have a love-hate relationship with statistics, I like them cause you can use them to get a point across and they can help you analyse things, but at the same time I hate them because people have a tendency to rely on them blindly and use them out of context without understanding the meaning behind them. The classic example is of course the...
  • If broken it is, fix it you should

    ASP.NET Case Study: Hang on WaitOne, WaitAny or WaitMultiple

    • 9 Comments
    One of the synchronization methods in .NET is the ResetEvent. It comes in two flavors, the AutoResetEvent which resets itself immediately after it is set, and the ManualResetEvent which as the name suggests you have to manually reset. Lets say you have a team of developers that can implement different parts of an application simultaneously without interaction, then the work order might look something like this Ask Bob to implement X Ask Belinda to implement Y Ask Ben to implement Z Integrate X, Y...
  • If broken it is, fix it you should

    .NET Debugging Demos Lab 6: Debugging Challenge (Memory leak)

    • 4 Comments
    Here is the debugging challenge for lab 6... this one is really tricky... I will post the step-by-step instructions and review in about a week, but for now I will only post a problem description. As with lab 5, your mission, should you choose to accept it, is to troubleshoot the problem with only that problem description. Post intermediate findings, questions, potential solutions etc. in the comments, and don't worry if you go down the wrong path a couple of times (that's just part of the debugging...
  • If broken it is, fix it you should

    .NET Debugging Demos Lab 5: Crash

    • 9 Comments
    Last week I published a debugging challenge for Lab 5. It was really interesting to see the results and I have to say I was really happy to see the excellent results from the poeple who commented on the debugging challenge (sounds like my work here is done:)). Quick Poll, for the next one (a memory leak), do you want a debugging challenge or do you want the lab steps at once? As usual it is using the Buggy Bits site, and this time we are dealing with a crash. You can read the problem description...
  • If broken it is, fix it you should

    .NET Debugging Demos Lab5: Crash - Review

    • 26 Comments
    Since I already posted a challenge for this lab earlier I didn't want to wait too long with publishing the review... Previous demos and setup instructions If you are new to the debugging labs, here you can find information on how to set up the labs as well as links to the previous labs in the series. Information and setup instructions Lab 1: Hang Lab 1: Hang - review Lab 2: Crash Lab 2: Crash - review Lab 3: Memory Lab 3: Memory - review Lab 4: High CPU hang Lab 4: High CPU hang - review...
  • If broken it is, fix it you should

    Silverlight 2 Beta 1 and Expression Blend

    • 3 Comments
    ScottGu has outdone himself again with a demo series First Look at Silverlight 2 and First Look at using Expression Blend with Silverlight 2 . I'm pretty excited about Silverlight 2, and our group will support at least parts of it, so I feel that now is definitely high time for me to dig in to it and debug the core to get a solid grip on how things work in there. Democratizing the cloud When I presented at Oredev last year I got a chance to look at some silverlight presentations (1.0 at the time...
  • If broken it is, fix it you should

    .NET Debugging Demos Lab 5: Debugging Challenge! (time to test your knowledge)

    • 18 Comments
    We're about halfway through with the labs so to change it up a little bit I'm going to give you a debugging challenge. I will post the step-by-step instructions and review in about a week, but for now I will only post a problem description. Your mission, should you choose to accept it, is to troubleshoot the problem with only that problem description. Post intermediate findings, questions, potential solutions etc. in the comments, and don't worry if you go down the wrong path a couple of times...
  • If broken it is, fix it you should

    .NET Debugging Demos Lab 4: High CPU Hang - Review

    • 14 Comments
    Hope you have had a chance to go through the high CPU lab... Some people already commented with the solution in the lab instructions for this lab but here are my answers and commentary on the lab. Reproducing the issue: 1. Recycle IIS (IISReset) 2. Browse to http://localhost/BuggyBits/AllProducts.aspx this should take about 5 seconds or more depending on what machine you're on 3. Watch the CPU usage in taskmanager while browsing to this page Q: What is the CPU usage like for w3wp.exe during the processing...
  • If broken it is, fix it you should

    Generational GC (Garbage Collector) - A post-it analogy

    • 7 Comments
    I was working through the High CPU Lab Review which is basically caused by high CPU in GC. To understand what happens you need to know what a generational GC is and why it's useful. Last year sometime I used a restaurant as an analogy for how memory allocations in general and managed allocations in particular work and it turned out to be a pretty popular post. I guess analogies just make things stick in a way that pure technical descriptions don't:) Well, I had a discussion a long time ago...
  • If broken it is, fix it you should

    Reader Email: Private Bytes remain higher than expected

    • 2 Comments
    I got this question today (through the blog) and normally I don't really answer questions sent to me directly through the blog for a couple of reasons already mentioned in the Contacting Tess... post, mostly because I don't have the time to answer all the emails that drop in, but also because I feel that the blog should benefit everyone so I am much more apt to answer questions posted in comments so everyone can benefit from the answer. Having said this, I felt that this was a question that lent...
  • If broken it is, fix it you should

    .NET Debugging Demos Lab 4: High CPU hang

    • 13 Comments
    So we finished the first round of performance issues, crashes and memory leaks. This time we are going to dive in to a high CPU situation and I know that this is giving it away a little but before you go through the lab you might want to have a look at my GC Pop Quiz to familiarize yourself with how the GC works if you feel a bit shaky about it. Previous demos and setup instructions If you are new to the debugging labs, here you can find information on how to set up the labs as well as links to the...
  • If broken it is, fix it you should

    I'm presenting at ExpertZone Developer Summit 2008 (in Sweden)

    • 0 Comments
    It's that time of year again... on the 9th of April I will be presenting at ExpertZone Developer Summit 2008 in Sweden. My topic is of course troubelshooting ASP.NET applications using windbg, surprise surprise:) See ya there, Tess
  • If broken it is, fix it you should

    .NET Debugging Demos Lab 3: Memory - Review

    • 40 Comments
    I was reading this post about spam ping-bots from OldNewThing and it makes me a bit mad because they just steal your content to make money, and create a lot of spam in my mailbox making it harder for me to find the real comments/track-backs. What is even more messed up is that some of these sites ask you to sign in and some even have you pay for content that someone else (like me) wrote:) amazing... so anyways, if you read this from some place other than http://blogs.msdn.com/Tess , an RSS reader...
  • If broken it is, fix it you should

    High memory usage with usercontrols in IE (using Debug Diag)

    • 6 Comments
    I was helping a colleague with an interesting case yesterday concerning a memory leak in IE when using winforms usercontrols. We got a nice little repro with a very basic user control that displayed a picture and each time the page was refreshed it appeared to leak quite a bit of memory, and inducing a garbage collection had no effect on the memory. I started off with setting it up on my machine, and then I used Debug Diag 1.1 to track down the leak... Debug diag is not all that great for managed...
  • If broken it is, fix it you should

    .NET Debugging Demos Lab 3: Memory

    • 30 Comments
    TGIF, almost time for the weekend... but before you leave, here is lab 3. Todays debugging puzzle will be a Memory investigation. This time we are going to stress the BuggyBits site to create a high memory usage situation and figure out what caused it. This lab is a bit lengthier because I wanted to show various aspects of a memory investigation. Once you know the relationship between the numbers in the dump and perfmon etc. you can often skip some parts, but if it is possible to gather I would...
  • If broken it is, fix it you should

    When a mommy and a daddy love each other...

    • 0 Comments
    It's been a long time since I posted anything in the bag of chips category but man, this book really made me laugh:) Why read stories to your kids about Cinderella and Spiderman when you can read about stay-at-home servers A quote from the book "When a mommy and a daddy love each other very much, the daddy wants to give the mommy a special gift" :) http://www.stayathomeserver.com/book.aspx The book is even available at amazon http://www.amazon.com/Mommy-Why-There-Server-House... And if that's not...
  • If broken it is, fix it you should

    .NET Debugging Demos Lab 2: Crash - Review

    • 43 Comments
    Hi all, I realize that you probably haven't all had a chance to look at the Crash lab yet, considering I just published it on Friday but here is the review for it. I have to say that considering the amount of downloads for the buggy bits site I am a bit surprised with the lack of questions about the labs. Perhaps they were too easy, or perhaps people just haven't had the time to go through them yet... either case, feel free to ask questions or comment on the labs, even questions that aren't directly...
  • If broken it is, fix it you should

    Hang caused by GC - XML Deadlock

    • 14 Comments
    In December I blogged about a little tool that i wrote to analyze hangs in dumps , and i showed the following output, but didnt really get into the details of why the process was stuck in here... ____________________________________________________________________________________________________________________ GC RELATED INFORMATION ____________________________________________________________________________________________________________________ The following threads are GC threads: ...
  • If broken it is, fix it you should

    .NET Debugging Demos Lab 2: Crash

    • 31 Comments
    It was nice to see that so many people downloaded the demo site already and checked out the lab instructions for the first lab, and thanks to Pedro for pointing out that the original demo site required .NET Framework 3.5... I've changed it now so the one that you can download from the setup instructions page should not require .Net Framework 3.5. (Even though I would encourage you to download 3.5 and play around with it anyways:)) Here comes lab 2, a crash scenario on the BuggyBits site. Previous...
  • If broken it is, fix it you should

    .NET Debugging Demos Lab 1: Hang - Review

    • 54 Comments
    Earlier this week I published the first .NET Debugging Demos Lab. If you haven't downloaded and tried it out you can get it here . This is a review of this lab with answers to the questions and comments inline in red. Note: results and thread IDs will vary depending on how fast you click and what machine you have and what threads the request happen to run on, so I will answer with the results from my dual-proc W2k3 machine. Reproduce the problem: 1. Browse to http://localhost/BuggyBits/FeaturedProducts...
  • If broken it is, fix it you should

    .NET Debugging Demos Lab 1: Hang

    • 51 Comments
    This is the first in a series of about 10 labs on .NET debugging. The lab will use a site called BuggyBits, and as the name suggests the bits are extremely buggy. To get started, follow the setup instructions posted here . I have a feeling that these hands-on-labs may generate a lot of questions and although I will try to answer any questions posted in the comments I can’t promise to answer them all so please feel free to answer other readers comments if you know the answer, and make sure that...
Page 7 of 11 (261 items) «56789»