Skip to main content

Module debug_diff

Module debug_diff 

Source
Expand description

Differential testing for the source-level debugging experience.

Compilers need not emit the same bytecode for the same source, so comparing raw source maps or program counters says little about what a user sees. This module maps each execution through StepMap::for_debug_diff, keeping single-instruction source stops that interactive stepping can smooth over, and compares the traces. The result is suitable for a test harness: it is deterministic, serializable, and separates execution differences from debug-info differences.

Structs§

DebugCheckpoint
A source stop required by a test, independent of compiler-generated entry steps.
DebugDiffReport
Serializable result of a source-level differential.
DebugDifference
One difference between the reference and candidate source traces.
DebugExecution
The execution result whose debug information was captured.
DebugTrace
A compiler-independent view of one execution’s debugging experience.
DebugTraceEvent
One compiler-mapped source stop in an execution.
DebugTraceSummary
Aggregate mapping quality for one side of a comparison.

Enums§

DebugDiffMode
How strictly two source-level traces are compared.
DebugDifferenceKind
The kind of one sampled difference.

Functions§

capture_debug_trace
Maps one execution to source stops without interactive line smoothing.
compare_debug_traces
Compares two captured debugging experiences and samples at most difference_limit differences for display.