Introducing the Intel® Debug Extensions for WinDbg* for Intel® Processor Trace

The Intel® Debug Extensions for WinDbg* for Intel® Processor Trace is designed to help WinDbg* users by extending their debugging tool set with execution tracing. The extension allows for easy setup of Intel® Processor Trace (Intel® PT) by abstracting hardware configuration and then reconstructing and displaying execution flow from the collected trace data. It integrates with other WinDbg* features like symbolization and high-level source display.

Intel® Processor Trace is a new technology for low-overhead execution tracing. It facilitates debugging a program by exposing an accurate and detailed trace of the program’s activity, and its triggering and filtering capabilities help identifying and isolating the relevant program executions.

Intel® PT records information about software execution on each hardware thread using dedicated hardware facilities. After execution completes, a software can process the recorded trace data and reconstruct the exact program flow.

Intel® PT use cases include:

  • control flow tracing

    This includes recorded trace data program flow information (for example, branch targets, branch taken/not taken indications) and program-induced mode related information (for example, Intel® Transactional Synchronization Extensions (Intel® TSX) state transitions). Debuggers can use it to reconstruct the code flow that led to a certain location. Whether this is a crash site, a breakpoint, a watchpoint, or simply the instruction following a function call we just stepped over.

  • debugging stack corruptions

    When the call stack has been corrupted, normal frame unwinding usually fails or may not produce reliable results. Intel® PT can be used to reconstruct the stack backtrace based on actual CALL and RET instructions.

For more complete information about compiler optimizations, see our Optimization Notice.