Intel® System Debugger User Guide

ID Date Version Classification
648476 10/17/2024 Confidential
Document Table of Contents

Debug Operations For Source Level Debugging

Once you set up the debug environment with Intel(R) Debug Extensions for WinDbg*, the following commands and debug view provides capability to debug and analyze target issues:

Breakpoints

The breakpoint can be used in executable code. The following syntax can be used for creating breakpoint that allow you analyze the target and issue debugger command. To manage and display the breakpoints, here are the examples you can used :

  • bp module!function : Set a breakpoint on function as soon as module is loaded.

  • bl : List existing breakpoints. Each breakpoint listed has a number in the list.

  • bc* : Clear all breakpoints.

  • bc number : Clear breakpoint identified by number.

  • be number : Enable breakpoint identified by number.

  • bd number : Disable breakpoint identified by number.

Run Control, stepping source code

Using flow control to break, go and step In and out of target execution code. Reverse execution is only supported by windbg over SIMICS.

Common KMDF Debugger Extensions

!wdfldr : Displays all loaded KMDF drivers !wdfdriverinfo : Displays relevant driver information !wdfdevicequeues : Displays info related to queue objects that belong to a specified device !wdfqueue : Displays information about WDFQUEUE object handle !wdfrequest : Displays information about WDFREQUEST object handle !wdfhandle : Displays information about a specific KMDF handle !wdfiotarget : Displays information about a WDFIOTARGET object handle. !wdfdevice : Displays information associated with a WDFDEVICE object handle !wdfcrashdump : Displays a crash dump that includes WDF log info !wdflogdump : Displays WDF log information

Driver source level tracing

  • Windbg over DCI supports PT assembly and source level tracing. For more info refere to PT documentation.

  • How to use WinDbg to View the KMDF log:
    1. Load KMDF extension

    2. Locate TMF file for specific WDF version and run !wdftmffile command followed by path to the folder that contains TMF files. !wdftmffile <wdk tmf folder>Wdf01013.tmf

    3. Dump the KMDF log for driver (for example osrusbfx2) !wdflogdump osrusbfx2

../../_images/source_level_dbg.png