Summary of Debugger Extensions in Wdfkd.dll
The Windows Driver Kit (WDK) includes a debugger extension library, named Wdfkd.dll. This library contains debugger extension commands that you can use to debug both Kernel-Mode Driver Framework (KMDF) and User-Mode Driver Framework (UMDF) drivers starting with version 2.
For a complete description of each command, see Windows Driver Framework Extensions (Wdfkd.dll). For more information about all available debugger extension libraries, see the documentation that is supplied with the Windows Debugging package.
You can find a video series that demonstrates how to debug a KMDF driver at Videos: Debugging KMDF Drivers.
To debug a driver that uses UMDF version 1.11 or earlier, you must instead use the Wudfext.dll debugger extension library. For more info, see User-Mode Driver Framework Extensions (Wudfext.dll).
The extension commands that the Wdfkd.dll extension library provides include:
Extension | Description | Frameworks |
---|---|---|
Displays this list of debugger extensions. |
||
Displays a child list's state and information about all of the device identification descriptions that are in the child list. |
KMDF | |
Displays the objects that are contained in a collection. |
KMDF UMDF 2 |
|
Displays information about a common buffer object. |
KMDF UMDF 2 |
|
Displays the framework's event log records, if available, from a small memory dump. The framework's event log records are available if ForceLogsInMiniDump is set in the registry, or if the framework can determine that your driver caused the bug check. |
KMDF | |
Displays the WDFDEVICE-typed object handle that is associated with the DeviceExtension member of a Microsoft Windows Driver Model (WDM) DEVICE_OBJECT structure. |
KMDF UMDF 1 UMDF 2 |
|
Displays information that is associated with a WDFDEVICE-typed handle. |
KMDF UMDF 2 |
|
Displays all the interrupt objects for a specified device handle |
KMDF UMDF 2 |
|
Displays information about all of the queue objects that belong to a specified device. |
KMDF UMDF 2 |
|
Displays information about a DMA enabler object, along with its associated DMA transaction objects and common buffer objects. |
KMDF | |
Displays a summary of all DMA enabler objects, DMA transaction objects, and common buffer objects that are associated with a specified device object. |
KMDF | |
Displays information about a WDF direct memory access (DMA) transaction object. |
KMDF | |
Displays information about a framework-based driver, such as its library version and hierarchy of object handles. |
KMDF UMDF 2 |
|
Extends the time-out period (from 10 minutes to 24 hours) of the framework's watchdog timer during power transitions. |
KMDF | |
Finds and displays framework objects. |
KMDF UMDF 2 |
|
Displays information about the guaranteed forward progress capabilities of an I/O queue. |
KMDF | |
Displays the driver name. |
KMDF UMDF 2 |
|
Displays information about a framework object handle. |
KMDF UMDF 2 |
|
Displays information about a framework interrupt object handle. |
KMDF UMDF 2 |
|
Displays information about a WDFIOTARGET-typed object handle. |
KMDF UMDF 2 |
|
Displays information about all of the drivers that are using the framework library. |
KMDF UMDF 1 UMDF 2 |
|
Displays the framework's event log records, if available, from a complete memory dump, a kernel memory dump, or a live kernel-mode target. |
KMDF UMDF 2 |
|
Saves the framework's event log records in an event trace log (.etl) file that you can view by using TraceView. |
KMDF UMDF 2 |
|
Displays a memory object's buffer address and size. |
KMDF UMDF 2 |
|
Displays information about a framework object. |
KMDF UMDF 2 |
|
Displays information about all the handles that are open on the specified WDF device. |
KMDF UMDF 2 |
|
Displays a driver's memory pool usage. |
KMDF UMDF 2 |
|
Displays information about a WDFQUEUE-typed object handle. |
KMDF UMDF 2 |
|
Displays information about a WDFREQUEST-typed object handle. |
KMDF UMDF 2 |
|
Sets the search path for locating the framework log's format files. |
KMDF UMDF 2 |
|
Sets a prefix string for tracing messages in the framework's event log. |
KMDF UMDF 2 |
|
Sets a driver name that is used as a default name for other commands that require a driver name. |
KMDF UMDF 2 |
|
Displays information about a framework spin-lock object. This information includes the spin lock's acquisition history and the length of time that the lock was held. |
KMDF UMDF 2 |
|
Displays tag information (including the tag value, line, file, and time) for a specified object tag. |
KMDF UMDF 2 |
|
Specifies the trace message format (.tmf) files that the !wdflogdump extension will use to display event log records. |
KMDF UMDF 2 |
|
Turns on the TracePrt diagnostic mode. |
KMDF UMDF 2 |
|
Displays detailed information about a UMDF device stack in the implicit process. |
UMDF 2 |
|
Displays information about all UMDF device stacks in the implicit process. |
UMDF 2 |
|
Displays the kernel-mode I/O request packet (IRP) that is associated with a specified user-mode IRP. |
UMDF 2 |
|
Displays information about a UMDF intra-stack file. |
UMDF 2 |
|
Displays information about a user-mode I/O request packet (UM IRP). |
UMDF 2 |
|
Displays the list of pending user-mode I/O request packets (UM IRPs) in the implicit process. |
UMDF 2 |
|
Displays information about a WDFUSBDEVICE-typed object handle. |
KMDF UMDF 2 |
|
Displays information about a WDFUSBINTERFACE-typed object handle. |
KMDF UMDF 2 |
|
Displays information about a WDFUSBPIPE-typed object handle. |
KMDF UMDF 2 |
|
Displays a device's Windows Management Instrumentation (WMI) information. |
KMDF |