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

    DebugDiag 1.1 or Windbg, which one should I use? and how do I gather memory dumps

    • 15 Comments
    If you have read any of my posts you have probably noticed that I am very partial to windbg and the debugging tools for windows. I often get friendly nudges from the developers of debugdiag when I suggest using adplus and windbg on internal discussion lists, and to be fair I have to beat on the drum a bit for debug diag as well. My answer to the question "Should I use DebugDiag 1.1 or Windbg" is both... it just depends on the scenario. I often lean towards windbg but to a large extent that is because...
  • If broken it is, fix it you should

    ASP.NET Performance issue: Large number of application restarts due to virus scanning

    • 12 Comments
    Issues caused by frequent application restarts are pretty common. If you are interested in what causes application restarts in general, and how you can monitor application restarts and what causes them you should read this post: ASP.NET Case Study: Lost session variables and appdomain recycles The most recent one was one where the ASP.NET site would respond slowly at regular intervals (read: it grinded to a halt every few hours). First shot at gathering data: We started off by getting a memory dump...
  • If broken it is, fix it you should

    IIS7 Breaking Changes for ASP.NET 2.0

    • 1 Comments
    I just came across this great post from Mike Volodarsky (a program manager in the IIS team) about breaking changes when you move 2.0 applications to IIS 7 . It is definitely worth a read before you make the switch so you can take appropriate actions to avoid running into problems. Laters, Tess
  • If broken it is, fix it you should

    "Failed to start stack walk: 80004005", "Following frames may be wrong" and other errors you may see in windbg

    • 24 Comments
    When you debug .net applications you will sometimes get error messages in windbg. Here are a few of the ones I most commonly get questions around... Failed to start stack walk If you run the sos command !clrstack to display the .net stack on a thread, and this thread is a .net thread but it is not currently running any .net code, sos will spit out Failed to start stack walk: 80004005. This does not mean that there is anything wrong with the process or with the debugger. It simply means that sos can...
  • If broken it is, fix it you should

    ASP.NET Hang: Authenticode signed assemblies

    • 2 Comments
    When you use authenticode signed assemblies in an application, the application needs to go out and check the certificate revocation lists (CRLs) to verify that the signature is still valid the first time it loads up the authenticode signed assembly. If the server, serving your asp.net application, doesn't have internet access or if the internet connection is slow this can lead to issues where you stall the process during startup or when the assembly in question first loads. What you will typically...
  • If broken it is, fix it you should

    Blog Interesting - 32 Ways to Keep Your Blog from Sucking

    • 6 Comments
    Today I came across a really good article for bloggers, Scott Hanselmans post on " Blog Interesting - 32 Ways to Keep Your Blog from Sucking " (update: for some reason the link gives an xml error, should be http://www.hanselman.com/blog/BlogInteresting32WaysToKeepYourBlogFromSucking.aspx if the link above doesn't work) I realize that most of you are not bloggers, and also that I am breaking rule #7 and #8 on the list here:) 7. Don't post throwaways I try to have a minimum length...
  • If broken it is, fix it you should

    How do I get a hotfix for .net or Visual Studio?

    • 3 Comments
    I very frequently get emails like the one I got this morning: "Tess, It sounds like the hotfix for kb946644 may resolve a problem we've been having for some time in .Net 2.0. How, exactly, can we get this hotfix? Can you provide it?" This particular hotfix was one i blogged about here, regarding a deadlock with the GC when using XmlSchemaSet.Add... but the answer will be the same for any hotfix. Many new hotfixes in the Visual Studio or .net framework area are available for public download by the...
  • If broken it is, fix it you should

    ntdll!kifastSystemcallret, SharedUserData!SystemCallStub and search engines...

    • 8 Comments
    If I were to pick out ten keywords for my blog I would pick, in no particular order, ASP.net, windbg, sos, debugging, .net exceptions, memory leaks, performance issues, OutOfMemory exceptions, garbage collection, troubleshooting. Those are the things that I think, but I might be wrong, that people who visit my blog are most interested in. As with most other technical blogs (I think), about half of the traffic to my blog comes from people searching on various search engines, but what really surprised...
  • If broken it is, fix it you should

    ASP.NET Crash: StackOverflowException with Server.Transfer

    • 13 Comments
    I have written a few posts about stackoverflow exceptions, here, here , here and here . The one I am going to talk about today is one of those unfortunate cases where you are trying to do the right thing and still shoot yourself in the foot. Problem description: Randomly when browsing the application we get the "Internet Explorer cannot display the webpage" page, and the following event is found in the system eventlog Event Type: Warning Event Source: W3SVC Event Category: None Event ID: 1009...
  • If broken it is, fix it you should

    Why are some commands missing in sos for 2.0 compared to sos for 1.1?

    • 2 Comments
    This question that I got from a reader is something that I get asked pretty frequently... "I met a small problem during my dump analysis, our application is using .net 2.0. when I load 2.0 version of sos.dll, some of useful extension commands are lost, but sos.dll which is under clr10 debugging tool has. Do you know any way to use those extension command in 1.1 under 2.0 sos.dll?" After you have gotten used to the wealth of commands and functions in sos for .net framework 1.1 it can get a bit tedious...
  • If broken it is, fix it you should

    Setting breakpoints in .net code using !bpmd

    • 5 Comments
    From time to time I get questions like "our process spawns a lot of threads, how do we know who created them?" or "can I tell how many times we call this method?". You can answer both of these questions by setting breakpoints, and below is a simple sample of how this is done in windbg with sos... My demo application (MyApplication.exe) has a class MyThreadClass that has a method CreateAThread, this creates a thread and starts running some method on that thread. What I am going to show here is how...
  • If broken it is, fix it you should

    Does interrupting GC.WaitForPendingFinalizers interrupt finalization?

    • 2 Comments
    I got a question the other day around calling GC.Collect and GC.WaitForPendingFinalizers. The issue revolved around a problem where the finalizer was blocked and where the application would call GC.Collect() and GC.WaitForPendingFinalizers() which then caused the thread that called GC.WaitForPendingFinalizers() to hang, and the question was If we interrupt the thread that calls GC.WaitForPendingFinalizers() will this also interrupt the finalizer thread, i.e. unblocking the finalizer? I would be very...
  • If broken it is, fix it you should

    Pimp up your debugger: Creating a custom workspace for windbg debugging

    • 5 Comments
    From time to time I get questions about how to change settings in windbg like this one... The default color scheme for the command window is really annoying, because it is always black and white. It is really hard to figure out something in the screen after you have executed some commands that generates lots of output, especially for the command you entered. Then I tried to configure the colors through view -> options -> colors, unfortunately I failed because of the items listed there which...
  • If broken it is, fix it you should

    How does the GC work and what are the sizes of the different generations?

    • 30 Comments
    During our ASP.NET debugging chat there were many questions around the GC and the different generations. In this post I will try to explain the basics of how the GC works and what you should think about when developing .net applications in relation to the GC. First off, there is already a lot written about the .net Garbage Collector. One of the best resources regarding how the GC works and how to program efficiently for the GC is Maoni’s blog . She hasn’t written anything since May 2007 but all...
  • If broken it is, fix it you should

    My presentation on Troubleshooting ASP.NET production issues at Developer Summit 2008

    • 2 Comments
    The purpose of my presentation was to show some common pitfalls and of course to show off windbg and sos just to show people that if you have a hang, perf issue, memory leak or crash, there are tools out there that can help you figure out the root cause so that you don't have to resort to guessing. The site I used for the presentation is attached to this blog post. is a summary of the topics I covered. Hangs and Performance issues First I debugged a simple hang (using locks in conjunction...
  • If broken it is, fix it you should

    Developer Summit Sessions on Silverlight, MVC, FaceBook, and Work ethics amongst software developers

    • 4 Comments
    On Wednesday I presented a session on troubleshooting ASP.NET production issues at Developer Summit 2008 in Sweden. It offered a lot of good presentations as usual, and here is a summary of the ones I went to along with some links related to the topics they were covering. I will write a separate post about the presentation I did along with a download for the actual presentation. I spent most of my time on the Web track and I was only there for the first day since I had to get back to work to...
  • If broken it is, fix it you should

    .NET Performance Issues: What if I suspect that my performance problem is in SQL Server Part II

    • 3 Comments
    Last week Graham was guest blogging on my blog about PSSDiag and how to gather data with PSS Diag. In this second installment he talks about how to read and understand the data. Graham is in the process of starting his own blog about how to troubleshoot different SQL issues. As soon as it is up and running I will post a link. In the meantime, enjoy! Part 2: Reviewing the data First off - an addition to Part 1 . One of my colleagues in the US has posted the internal performance statistic T-SQL script...
  • If broken it is, fix it you should

    .NET Performance Issue: What if I suspect that my performance problem is in SQL server?

    • 11 Comments
    Very often when investigating ASP.NET or other .NET performance issues we find threads stuck waiting for SQL Server or some other database to respond. I am by no means an expert in SQL Server so I thought I'd invite one of the escalation engineers, Graham Kent, in the SQL Server support team to write a little bit about how you can determine if there is a performance issue in SQL Server or if you can discard SQL Server as the root cause of your perf issue. Graham Kent, SQL Server Escalation Engineer...
  • If broken it is, fix it you should

    .NET Debugging Demos Lab 7: Memory Leak - Review

    • 19 Comments
    We have reached the end of the .NET Debugging Demos series. And we are going to end it with a review of the last memory leak lab. I am interested to get feedback, either in comments or through email in the contact me section, on what you liked, what you didn't like. If you felt that it was worth your while etc. so I know if there is an interest in possibly doing similar lab series in the future. It will probably be a while before I would post a new series but if there is interest at least I can start...
  • If broken it is, fix it you should

    Recap of yesterdays ASP.NET Debugging Blog Chat

    • 2 Comments
    I have to say that I was happily surprised, not only that so many people showed up and about the amount of questions that came up but also about the type of questions that came up. It was definitely very interesting for me. Tom had a good recap of the chat topics that came up, and we will be dividing these among us to write articles that cover these in a little more detail. The portions that were covered in the chat will be covered in the posts as well... Basics of debugging, how to capture a dump...
  • If broken it is, fix it you should

    Live blog chat about asp.net and debugging with windbg and sos (10 am EST/4 pm CET)

    • 1 Comments
    Welcome to the first blog chat for ASP.NET Debugging. I hope you enjoy this and please let me know your comments on the experience. I am planning on posting a recap of the conversation (or question and answers) after we are done to the blog so that others can see what was discussed. If it gets busy and your question doesn't get answered, I will be reviewing the chat and will get an answer posted in the recap. This chat will last an hour. UPDATE Thank you everyone who attended this chat. It...
  • If broken it is, fix it you should

    Questions about .net Exceptions

    • 9 Comments
    One of my readers emailed me the following question I have a simple questions that my management asks me. When I see all kinds of exceptions thrown (null exceptions etc..), what is the user experience? Does their system hand these back to the user? does it return an error message? or simply crashes? How can I determine the user experience pertaing to these exceptions? My answer The answer depends very much on the type of exception that is thrown, where it is thrown from and of course if it is caught...
  • If broken it is, fix it you should

    New version of SilverLatte and Espresso Blend available for download

    • 12 Comments
    I am sure that you have all been awaiting this new version of SilverLatte and Espresso Blend as much as I have. Last week I got a chance to test out the new bits and I was completely elated with all the new features. Especially the new editor add-in for windbg:) Powered by SilverLatte More information Espresso Blend and SilverLatte are the next in a series of tools that allows you to develop rich user interfaces for both web and windows applications. With its sharp GUI it enables rapid...
  • If broken it is, fix it you should

    .NET Case Study: Stackoverflow Exception when using a complex rowfilter

    • 8 Comments
    When you use very complex Rowfilters or expressions on datasets or datatables you may end up getting a stackoverflow exception. Eber was running into this and posted a comment here. Since it is something we see from time to time and it was a bit to long to answer in the comments, here is the why and the how... Problem description: When browsing an ASP.NET site, intermittently we get "Internet Explorer cannot display the webpage" accompanied by the following event in the eventlog: Event Type: Error...
  • If broken it is, fix it you should

    Welcome to a blog chat on Wednesday about ASP.NET and Debugging

    • 7 Comments
    On Wednesday (April 2nd) me and Tom from the ASP.NET Debugging Blog will co-host a live blog chat on our blogs where you can ask questions about ASP.NET and Debugging with windbg and sos. The chat client will be hosted on our blogs for an hour starting at 10 AM EST (Eastern Standard Time) /4 PM CET (Central European Time) so you can just browse to either http://blogs.msdn.com/Tess or http://blogs.msdn.com/Tom to attend and ask any questions you want about ASP.NET and debugging with windbg and...
Page 6 of 11 (261 items) «45678»