|
HyperDbg Debugger
|
Tracing routines for HyperTrace module (Intel Processor Trace). More...
#include "pch.h"Functions | |
| BOOLEAN | HyperTracePtEnable (HYPERTRACE_PT_OPERATION_PACKETS *PtOperationRequest) |
| Enable PT tracing for HyperTrace. | |
| BOOLEAN | HyperTracePtDisable (HYPERTRACE_PT_OPERATION_PACKETS *PtOperationRequest) |
| Disable PT tracing for HyperTrace. | |
| BOOLEAN | HyperTracePtPause (HYPERTRACE_PT_OPERATION_PACKETS *HyperTraceOperationRequest) |
| Pause PT tracing on every core. Buffers stay allocated and the per-CPU CTL is preserved, so HyperTracePtResume can restart the trace exactly where it stopped. | |
| BOOLEAN | HyperTracePtResume (HYPERTRACE_PT_OPERATION_PACKETS *HyperTraceOperationRequest) |
| Resume PT tracing on every core after a prior HyperTracePtPause. | |
| BOOLEAN | HyperTracePtSize (HYPERTRACE_PT_OPERATION_PACKETS *HyperTraceOperationRequest) |
| Snapshot the current PT output position on every core and write the per-CPU byte counts into HyperTraceOperationRequest->BytesPerCpu. The returned counts are the decode window — bytes [0, BytesPerCpu[i]) in CPU i's user mapping currently hold valid trace data. | |
| BOOLEAN | HyperTracePtDump (HYPERTRACE_PT_OPERATION_PACKETS *HyperTraceOperationRequest) |
| Dump PT trace state for HyperTrace. | |
| BOOLEAN | HyperTracePtFlush (HYPERTRACE_PT_OPERATION_PACKETS *HyperTraceOperationRequest) |
| Flush PT trace state on all cores (free buffers). | |
| BOOLEAN | HyperTracePtFilter (HYPERTRACE_PT_OPERATION_PACKETS *Req) |
| Apply a new PT trace configuration (TraceUser / TraceKernel / TargetCr3 / BufferSize / NumAddrRanges + AddrRanges) on all cores. | |
| BOOLEAN | HyperTracePtMmap (HYPERTRACE_PT_MMAP_PACKETS *Req) |
| Map every per-CPU PT main output + overflow buffer into the calling user-mode process. See HYPERTRACE_PT_MMAP_PACKETS for the full lifetime / single-process contract. | |
| BOOLEAN | HyperTracePtPerformOperation (HYPERTRACE_PT_OPERATION_PACKETS *PtOperationRequest) |
| Perform actions related to HyperTrace PT. | |
Tracing routines for HyperTrace module (Intel Processor Trace).
| BOOLEAN HyperTracePtDisable | ( | HYPERTRACE_PT_OPERATION_PACKETS * | PtOperationRequest | ) |
Disable PT tracing for HyperTrace.
| PtOperationRequest | Pointer to the HyperTrace PT operation request packet |
| BOOLEAN HyperTracePtDump | ( | HYPERTRACE_PT_OPERATION_PACKETS * | HyperTraceOperationRequest | ) |
Dump PT trace state for HyperTrace.
| HyperTraceOperationRequest |
| BOOLEAN HyperTracePtEnable | ( | HYPERTRACE_PT_OPERATION_PACKETS * | PtOperationRequest | ) |
Enable PT tracing for HyperTrace.
| PtOperationRequest | Pointer to the HyperTrace PT operation request packet |
| BOOLEAN HyperTracePtFilter | ( | HYPERTRACE_PT_OPERATION_PACKETS * | Req | ) |
Apply a new PT trace configuration (TraceUser / TraceKernel / TargetCr3 / BufferSize / NumAddrRanges + AddrRanges) on all cores.
Mirrors HyperTraceLbrUpdateFilterOptions / LbrFilter:
Must be called at IRQL == PASSIVE_LEVEL because of the contiguous-memory allocator.
| BOOLEAN HyperTracePtFlush | ( | HYPERTRACE_PT_OPERATION_PACKETS * | HyperTraceOperationRequest | ) |
Flush PT trace state on all cores (free buffers).
| HyperTraceOperationRequest |
| BOOLEAN HyperTracePtMmap | ( | HYPERTRACE_PT_MMAP_PACKETS * | Req | ) |
Map every per-CPU PT main output + overflow buffer into the calling user-mode process. See HYPERTRACE_PT_MMAP_PACKETS for the full lifetime / single-process contract.
| BOOLEAN HyperTracePtPause | ( | HYPERTRACE_PT_OPERATION_PACKETS * | HyperTraceOperationRequest | ) |
Pause PT tracing on every core. Buffers stay allocated and the per-CPU CTL is preserved, so HyperTracePtResume can restart the trace exactly where it stopped.
| HyperTraceOperationRequest |
| BOOLEAN HyperTracePtPerformOperation | ( | HYPERTRACE_PT_OPERATION_PACKETS * | PtOperationRequest | ) |
Perform actions related to HyperTrace PT.
| PtOperationRequest |
| BOOLEAN HyperTracePtResume | ( | HYPERTRACE_PT_OPERATION_PACKETS * | HyperTraceOperationRequest | ) |
Resume PT tracing on every core after a prior HyperTracePtPause.
| HyperTraceOperationRequest |
| BOOLEAN HyperTracePtSize | ( | HYPERTRACE_PT_OPERATION_PACKETS * | HyperTraceOperationRequest | ) |
Snapshot the current PT output position on every core and write the per-CPU byte counts into HyperTraceOperationRequest->BytesPerCpu. The returned counts are the decode window — bytes [0, BytesPerCpu[i]) in CPU i's user mapping currently hold valid trace data.
| HyperTraceOperationRequest |