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,…


[WinDbg Script] Displaying the COM object referenced by an RCW object

Here we go again after a long time without blogging and an even longer time without blogging about WinDBG scripts. When debugging dump files from .NET applications sometimes we may encounter a situation where we want to get the COM object referenced by a System.__ComObject wrapper which references an RCWobject. You may think that dumping…


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…


New Debugging Book – Windows Debugging Notebook: Essential User Space WinDbg Commands

A reference book for technical support and escalation engineers troubleshooting and debugging complex software issues. The book is also invaluable for software maintenance and development engineers debugging Windows applications and services.   Do you want to know more about this book? Check out here…


[PowerShell Script] PowerDbg v6.0 – Using PowerShell to Control WinDbg

Last October the latest version of the PowerDbg tool was released, version 6.0. This release has major changes. For example, it is now easier to write scripts or otherwise just hack around the debugger, and includes the PowerDbgConsole, a bootstrapper designed to make setting up an interactive PowerDbg debugging session a one-liner. In addition, this…


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] PowerDbg v5.3—Using PowerShell to Control WinDbg

This version has a fix in Parse-PowerDbgDSO. Thanks to Igor Dvorkin that found the bug and suggested the fix.     DOWNLOAD POWERDBG   Download PowerDbg   POWERDBG FILES   WinDbg.PSM1  ß Starting with this version this is the only file.   INSTALLATION   WinDbg.PSM1   Goes to %\WindowsPowerShell\Modules\WinDbg   Note: PowerDbg assumes the folder…


Special Command—Unassembling code with u, ub and uf

When debugging sooner or later you will need to disassemble code to get a better understanding of that code. By disassembling the code, you get the mnemonics translated from the 0s and 1s that constitute the binary code. It is a low level view of the code, but a higher level than seeing just numbers….