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.