Home > Articles > Programming > Windows Programming

Automate Tedious Debugging Tasks Using Debug Analyzer.NET

  • Print
  • + Share This
Today there are mechanisms to automate debugging tasks via custom native debugger scripts or even VB script. Unfortunately, these approaches force us to learn new technologies instead of leveraging what we already know. Mario Hewardt, author of Advanced .NET Debugging, shows you how Debug Analyzer.NET is the solution to that problem by providing a comprehensive set of Debugger .NET APIs as well as a harness with powerful debugger automation features.
Like this article? We recommend

Like this article? We recommend

As part of our daily jobs as software developers, we spend quite a bit of time debugging various problems in our software. Certain types of problems are more common than others, and in those cases we end up duplicating our debugging efforts across different but similar types of bugs. For example, debugging memory pressure problems in .NET applications typically involve a series of !DumpHeap commands to hone in on a problematic type instance. In fact, the series of commands that are executed can be so similar in nature that we sit back and think about what we do best—mainly, how to automate the process.

Several tools exist that allow for some level of automation. For example, the Debug Diagnostics tool (also knows as DebugDiag) offers developers a way to enhance its functionality by writing VB scripts against a debugger object model. Another option is to write debugger automation using the built-in debugger scripting language. Unfortunately, while both options allow for automation, it requires that we learn a new technique, and in the worst case a new language to get our job done. Debug Analyzer.NET recognized this pain point and provides an excellent framework upon which we can automate debugging tasks while leveraging our already existing skill set of developing in .NET (using C# or any other .NET language). Fundamentally, Debug Analyzer.NET provides a .NET based object model around many aspects of the debugging experience as well as a tool that allows us to do automatic analysis on crash dump files.


Debug Analyzer.NET can be downloaded free of charge from http://www.debuganalyzer.net.

Simply click on the Download link and choose the correct architecture to start the install process. Please note that it is imperative that you match the architecture to the crash dump file on which you will be running the tool. For example, if I need to run Debug Analyzer.NET on a 32-bit crash dump file on a 64-bit machine, I would need to use the 32-bit version of Debug Analyzer.NET. Also important to note that the supported CLR versions are:

  • CLR 2.0
  • CLR 3.x

Support for CLR 4.0 and Silverlight is planned in the near future.

The installation process is simply just a ZIP file that you extract to a location of choice. Once the extraction is complete, you can run Debug Analyzer.NET by simply executing DebugAnalyzer.exe.

  • + Share This
  • 🔖 Save To Your Account