Intel® System Debugger User Guide

ID 648476
Date 06/13/2024
Confidential
Document Table of Contents

Intel(R) Debug Extensions for WinDbg* for Intel(R) Processor Trace (Intel(R) PT)

The Intel(R) Debug Extensions for WinDbg* for Intel(R) 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(R) Processor Trace (Intel(R) 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(R) 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(R) 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(R) 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(R) Transactional Synchronization Extensions (Intel(R) 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(R) PT can be used to reconstruct the stack backtrace based on actual CALL and RET instructions.