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)

Browse by Tags

Tagged Content List
  • Blog Post: Debug Diag 1.2 (Beta)

    Are you looking for some good stuff to put in your family’s Christmas stockings this year? Maybe a new phone, a controller for your gaming console, why not a brand new debugging tool:) Jokes aside, I get peppered with questions about Debug Diag and if there is a new version coming that will support Windows...
  • Blog Post: Capturing memory dumps for 32-bit processes on an x64 machine

    This is an issue that I often get questions around and we often have cases where we have to re-capture memory dumps because the memory dumps were captured the “wrong” way. The short story is: If you are executing a 32-bit process on a 64-bit machine, (which is the default case for IIS...
  • Blog Post: Help! !clrstack is not showing any method names

    From time to time I get questions about missing method names in the sos !clrstack output, like this: 0:019> !clrstack OS Thread Id: 0x5d0 (19) ESP EIP 0f31f340 7c80bef7 [HelperMethodFrame_1OBJ: 0f31f340] 0f31f398 1449167a 0f31f3c4 144915e6 0f31f3f4 10d81b48 0f31f4b4 793e25cf 0f31f4bc...
  • Blog Post: Getting full user mode dumps automatically when your process crashes

    I recently got a question about if it is possible to generate full user mode dumps automatically every time the process crashes (without having debug diag or adplus installed and monitoring your system). This would be useful for example if you are setting up a site, and you want to make sure you get...
  • Blog Post: New debugger extension for .NET (PSSCOR2)

    Tom just blogged about a new debugger extension called PSSCor2, which is a superset to the SOS.dll extension that ships with the .net framework. PSSCor2.dll has been around for quite some time at Microsoft, and pretty much everyone debugging .net code with windbg within Microsoft is using this since...
  • Blog Post: Tool for generating DGML graphs showing why your object can’t be collected (VisualGCRoot)

    Visual Studio.NET 2010 has a new feature that allows you to create nice directed graphs with a markup language called DGML (Directed Graph Markup Language).  Visualizing object graphs with DGML Chris Lovett wrote a tool that takes GCRoot output and transforms it to a DGML document so that you can...
  • Blog Post: Advanced .NET Debugging book

    Last week i got the new Advanced .NET Debugging book by Mario Hewardt (co-authored with Daniel Pravat) in the mail.  I had the pleasure of tech reviewing it earlier this year and it is a really good deep dive in .net debugging and .net internals. The book talks about debugging .net apps with WinDbg...
  • Blog Post: WOHOO!!!, Debug Diag 64bit is finally released

    For all of you who have been asking me if there is a 64bit version of Debug Diag (used to debug 64 bit processes), I am happy to say that yes, Debug Diag 1.1 64bit is now released. You can download it here: http://www.microsoft.com/DOWNLOADS/details.aspx?FamilyID=28bd5941-c458-46f1-b24d-f60151d875a3&displaylang...
  • Blog Post: First step in troubleshooting complex issues: Define and scope your issue properly

    Is it a plane, is it a bird, is it a UFO? Before you can delve into any kind of troubleshooting of an issue you need to thoroughly define it.  If you don’t you’ll probably end up spending a lot of time randomly gathering and looking at data that is probably not even relevant to the issue at hand...
  • Blog Post: First look at debugging .NET 4.0 dumps in Visual Studio 2010

    I know that for a lot of you this is a bit far into the future, but I thought it would be nice to run through a few of my lab scenarios to show off some of the new features in Visual Studio 2010.  I am sure that I will miss a bunch of cool features here as this post is just based on my first experience...
  • Blog Post: .NET Exceptions: Quick WinDbg/SOS tip on how to dump all the .NET exceptions on the heap

    Since a .net exception is a .NET object like any other, it gets stored on the GC heap when you (or some code you call) calls new XXException().  This means that if you have a memory dump of a process you can dump out all the recent exceptions that have occurred, or rather all exceptions that have...
  • Blog Post: Troubleshooting .Net SQL Connectivity issues: What data should you gather?

    Spike in our data access support team has a really good blog talking about data access related issues in .net. Recently he wrote a really good post about what you should gather to troubleshoot a connectivity issue effectively such as Connection strings SQL Server logs The exact error message (with stack...
  • Blog Post: Slides for interactive TechEd Sessions about debugging .net issues in windbg

    ... and here are the slides for the interactive session
  • Blog Post: Slides and resources for TechED presentations about debugging .NET issues with Windbg

    I still have to figure out a way to host the video from the break-out session but until then, here are the slides for my presentations (attached). And here are a list of some of the tools and resources I used for the presentations Tool/Resource Comment Download Link Debugging...
  • Blog Post: Making it easier to debug .net dumps in windbg using .cmdtree

    John Robbins beat me to the punch and wrote an excellent post about using .cmdtree in windbg to ease some .net debugging pain in windbg. The windbg .cmdtree command allows you to create a popup window in windbg with commands that execute when you click on the respective link...  so you no longer...
  • Blog Post: Q&A Reader emails about .NET memory leaks and random questions

    Here are of some of the reader emails I got this week and my answers to them... How do I troubleshoot this memory leak Debugging techniques for capturing stacks of OOMS Do you have a list of Debugging 101 links? Debugging managed code in IE Getting to dependency properties with sos let me know if this...
  • Blog Post: Quick Debugging Tip: Disable apppool recyling while getting crash dumps

    I have probably mentioned this before, but I think it is worth mentioning again because of the frequency of this issue. When debugging a crash, we usually get customers to use a crash rule in debug diag or to use adplus -crash to get memory dumps at the point of the crash. Both of these attach to...
  • Blog Post: Creating a UI Module For IIS7 to watch Current Requests

    A while back I posted about Failed Request Tracing in IIS 7 and I mentioned the command appcmd list requests which lists the requests that are currently executing in the process... I was playing around a bit with UI Modules in IIS7, you know the ones that show up in the Features view when you open...
  • Blog Post: Debugging Silverlight applications with windbg and sos.dll

    If you have hangs, performance, memory issues, exceptions or crashes in Silverlight applications you can debug them using windbg and sos just like you would if the issues occurred in other .net applications. The difference is that Silverlight in IE runs a subset of the framework where the main dll...
  • Blog Post: Troubleshooting a performance issue with Failed Request Tracing and appcmd in IIS7

    I know I'm a little late in the game, but I decided that after vacation it was finally time for me to install Windows 2008 on my Vista box and play around with some of the IIS 7 features like Failed Request Tracing (known as FRT or FREB) and the appcmd tool. I wanted to show you an alternative way...
  • Blog Post: Setting .NET breakpoints in Windbg for applications that crash on startup

    I recently received a question from a reader who wanted to know how to set breakpoints in code for applications that crash on startup. The email went like this: I have a .NET app which is crashing upon startup (it even causes DW20.exe to make an appearance). When I open the .NET app in Windbg, I can...
  • Blog Post: My presentation on Troubleshooting ASP.NET applications at Oredev

    The guys at Oredev are in the midst of preparing for the next Oredev conference in November. Sadly I won't be presenting there this year because of other comittments. I say sadly because it was an awesome event last year. If you want to check out my presentation from last year you can do that here ....
  • Blog Post: The 21 most popular blog posts

    I started this blog 2.5 years ago today, mostly because I felt that the same types of issues came up over and over and over in our support cases. I figured that if I started writing about them, a lot of people would be able to resolve them on their own, or even better avoid them in the first place. A...
  • Blog Post: DebugDiag 1.1 or Windbg, which one should I use? and how do I gather memory dumps

    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...
  • Blog Post: "Failed to start stack walk: 80004005", "Following frames may be wrong" and other errors you may see in windbg

    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...
Page 1 of 2 (49 items) 12