Defrag Tools #96 - Writing a Debugger Extension Part 1

Sign in to queue

Description

In this episode of Defrag Tools, Andrew Richards and Chad Beeder start a new series on writing a Debugger Extension for the Debugging Tools for Windows. The series is based on a 3 part MSDN Magazine series that Andrew wrote back in early 2011.

Resources:
Writing a Debugging Tools for Windows Extension - Part 1 - March 2011
Writing a Debugging Tools for Windows Extension - Part 2 - May 2011
Writing a Debugging Tools for Windows Extension - Part 3 - June 2011

Timeline:
[00:00] - Writing a Debugger Extension
[01:30] - Win32 Project in Visual Studio 2013
[02:53] - DbgExt.cpp - CPP file
[06:37] - DbgExt.h - Header file
[07:08] - DbgEng required exports
[08:10] - MyExt.def - DEF file
[10:05] - #include <DbgEng.h> location
[11:50] - Additional Include Directories
[12:39] - (x86) Debugger Command: c:\debuggers_x86\windbg.exe
[13:05] - (x86) Command Arguments: -a "$(TargetPath)" c:\windows\syswow64\notepad.exe
[14:47] - MyExt.rc - RC file
[16:27] - Configuration Manager - Add x64
[18:20] - Make a folder for each platform: $(SolutionDir)$(Platform)\$(Configuration)\
[19:38] - (x64) Debugger Command: c:\debuggers\windbg.exe
[19:38] - (x64) Command Arguments: -a "$(TargetPath)" c:\windows\system32\notepad.exe
[20:55] - Run x64
[21:33] - No commands yet - .extmatch /e MyExt.dll
[22:17] - Next week - Hello World!
[22:17] - Email us your issues at defragtools@microsoft.com

 

Embed

Download

The Discussion

  • User profile image
    sublemon

    Excellent. I used the MSDN articles a couple of years ago to create an extension that steps a method similar to tt and wt for .NET and reports the VARs pushed to methods and any deltas to objects.

  • User profile image
    DarkWalker

    When you mess up the tabs (like in 9:23) you can double click the header while holding control key and Visual Studio will dock this window in the original position.

Add Your 2 Cents