|
|
1.1 ! root 1: Sample: Creating a WinDbg Extension ! 2: ! 3: ! 4: Summary: ! 5: ! 6: The purpose of the WDBGEXTS sample is to demonstrate how to create a WinDbg ! 7: extension. This is a port of a sample demonstrating how to create an NTSD ! 8: extension. ! 9: ! 10: Extensions are DLL entry points. The arguments passed to an extension are: ! 11: ! 12: HANDLE hCurrentProcess - Supplies a handle to the current process (at ! 13: the time the extension is called). ! 14: ! 15: HANDLE hCurrentThread - Supplies a handle to the current thread (at ! 16: the time the extension is called). ! 17: ! 18: DWORD CurrentPc - Supplies the current pc at the time the extension is ! 19: called. ! 20: ! 21: PWINDBG_EXTENSION_APIS lpExtensionApis - Supplies the address of the ! 22: functions callable by this extension. ! 23: ! 24: LPSTR lpArgumentString - Supplies the command-line arguments for the ! 25: extension. ! 26: ! 27: The type PWINDBG_EXTENSION_APIS is defined in \mstools\h\wdbgexts.h. ! 28: ! 29: Note that in the makefile the -Gz option is specified to compiler in order ! 30: to ensure that __stdcall is used. ! 31: ! 32: More Information: ! 33: ! 34: The following is a description of the exported functions ! 35: ! 36: igrep() ! 37: ! 38: Searches the instruction stream for a pattern. ! 39: ! 40: str() ! 41: ! 42: Given a pointer to a string, it prints out the string, its length, ! 43: and its location in memory. ! 44: ! 45: In order to use the commands contained in WDBGEXTS.DLL, make sure that the ! 46: DLL is placed in a directory which is on the PATH. ! 47: ! 48: The syntax for the commands is as follows ! 49: ! 50: ! 51: !wdbgexts.igrep [pattern [expression] ] ! 52: ! 53: !wdbgexts.str [string]
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.