Tools for Your Debugging Toolbox

This article was just updated to include an internal Microsoft tool that is now public. There are many free tools used to troubleshoot and debug software. Below I present a list of the tools that my peers and I use most of the time. Though most of the tools below are free Microsoft tools, not…


D3v3l0p3r PF3s – 0bs3rv1ng Th3m in Th31r Natural Hab1tat

PFE has engineers who specialize in areas which can contain one or more technologies.  This species is universally known as D3v PF3 (Developer PFE).  Not everyone really knows their habits and role and, as a consequence, sometimes it’s hard for customers to engage them. Their specialty is problem isolation, application debugging, knowledge transfer, code review,…


Top Things to Consider When Troubleshooting Complex Application Issues

1- For reactive incidents: “Bring the engineer onsite because it is going to be easier to isolate the problem.” This is the most common misconception I’ve heard. Let me explain: most complex problems require deep debugging sessions.Collecting the necessary information is the easy part and can be done remotely or by the customer. However, several…


[PowerShell Script] Troubleshooting for Port Exhaustion Using NetStat

Problem Description: Applications that use a great deal of TCP network activity may use all of the possible port numbers — especially if they are very “chatty”.  By default, when an application closes a TCP connection, the port number used cannot be reused for the same IP address for another four minutes (TcpTimedWaitDelay).  Also, by…


PSSCOR2, the Superset of SOS.DLL is Now Public!!!

Whenever I’m debugging with customers watching it’s inevitable: they always ask me what this PSSCOR2.dll extension is. The next question is always if PSSCOR2.DLL is going to be public. PSSCOR2.DLL is a superset of SOS.DLL and has much more commands and variations! The good news is that yes, now PSSCOR2.DLL is public, so you can download…


XPerf Tool – Why Can’t You Live Without It?

Israel Burman (Israel is one of the ADPlus creators and the guy who taught me the XPerf tool) and Mario Hewardt told me I should blog about the XPerf tool. Although I’m new to this tool I decided to follow their suggestions because I believe you’re going to wonder how you could live without using…


[PowerShell Script] Statistics from .NET Applications

This script is more a template to show you how to use PowerDbg. I must say the idea is from my teammate Aaron Barth! This script collects information from all threads running managed code and gives the user statistics by threads like:   –      CLR stack. –      Managed objects from the stack. –      ASP.NET page….


Tools for Troubleshooting Applications (including SharePoint)

Let me share with you some public tools I’ve been using when working with applications and SharePoint cases. These are the tools I use before trying a hardcore approach like attaching the debugger to the application or collecting dumps to do a post-mortem debugging. Of course, there’re situations where debugging is the only option, but…


Troubleshooting Software Problems: A Scientific Approach

  Years ago, when working for an Escalation Team, we decided to create a documentation to formalize the approach we use to isolate software problems, something I’ve been doing for years since the time I read a great book about the subject. Actually, it’s the same approach other people use in other fields. As I…


[Recommended Books] How to Acquire or Improve Debugging Skills

This article is my answer for this comment. First of all, this is just my opinion, not Microsoft’s opinion. Before talking about books, let me explain something that I see over and over again. Sometimes I’ve run across people who think they just need to know the debugger commands to become a good debugger. This…