Creating a WinDbg Extension
SUMMARY
=======
The WDBGEXTS sample demonstrates how to create an extention for the WinDbg
debugger. This is a port of the sample demonstrating how to create an NTSD
extension.
Extensions are DLL entry points. The arguments passed to an extension are:
HANDLE hCurrentProcess - Supplies a handle to the current process (at
the time the extension is called).
HANDLE hCurrentThread - Supplies a handle to the current thread (at
the time the extension is called).
DWORD CurrentPc - Supplies the current pc at the time the extension is
called.
PWINDBG_EXTENSION_APIS lpExtensionApis - Supplies the address of the
functions callable by this extension.
LPSTR lpArgumentString - Supplies the command-line arguments for the
extension.
The type PWINDBG_EXTENSION_APIS is defined in \mstools\h\wdbgexts.h.
Note that in the makefile the -Gz compiler option is specified to ensure
that __stdcall is used.
MORE INFORMATION
================
The following is a description of the exported functions.
Function Description
igrep Searches the instruction stream for a pattern.
str Given a pointer to a string, it prints out the string, its
length, and its location in memory.
To use the commands contained in WDBGEXTS.DLL, make sure that the DLL is
placed in a directory which is on the PATH.
The syntax for the commands is as follows:
!wdbgexts.igrep [pattern [expression] ]
!wdbgexts.str [string]