Intel Processor Trace (PT) can be used on modern Intel CPUs to trace execution. This page contains references for learning about and using Intel PT.
- Intel Software Developer’s Manual Vol 3 low level reference information on Processor Trace trace format and registers (Chapter 36)
- Intel Processor Trace on Linux gives an overview of processor trace on Linux
- A tutorial web site for PT that contains many references
- Intel® Developer Forum 2015: Zoom-in on Your Code with Intel® Processor Trace and Supporting Tools (find SPCS012)
- Intel® Developer Forum 2014: Debug and Fine-grain Profiling with Intel® Processor Trace
- Efficient and large scale program flow tracing in Linux
- Adding processor trace to Linux describes the Linux perf Processor trace implementation.
- Reference documentation for PT on Linux perf
- simple-pt is an alternative reference PT implementation. It is implemented on Linux, but can be also used as a starting point to implement PT on other OS.
- The GNU debugger gdb support PT on Linux for backward debugging
- Intel VTune amplifier supports PT for performance analysis
- A Windows windbg processor trace plugin for debugging on Windows with PT.
- A reference Processor Trace decode library.
- A plugin for Linux crash to dump PT buffers (look for ptdump)
- The Lauterbach JTAG debugger supports PT
- Intel system studio supports JTAG debugging with PT
- The SourcePoint for Intel debugger support PT
- The hongfuzz fuzzer supports feedback fuzzing using PT
- Harnessing Intel Processor Trace on Windows for vulnerability discovery
Research papers using PT (subset):
- Failure Sketching: A technique for automated root cause analysis of in production failures
- Griffin: Guarding control flows using Intel Processor Trace
- Hardware-assisted instruction profiling and latency detection
- Inspector: Data Provenance using Intel Processor Trace
- Transparent and efficient CFI enforcement with Intel Processor Trace