Skip to main content

Module debug_recorder

Module debug_recorder 

Source
Expand description

Records the debugger’s opcode steps straight into a SolDB step table.

Re-exportsΒ§

use alloy_primitives::U256; πŸ”’
use foundry_evm_traces::debug::DebugRecording; πŸ”’
use foundry_evm_traces::debug::DebugStepSink; πŸ”’
use foundry_evm_traces::debug::RecordedFrame; πŸ”’
use foundry_evm_traces::debug::StepConverter; πŸ”’
use revm::Inspector; πŸ”’
use revm::JournalEntry; πŸ”’
use revm::bytecode::opcode::OpCode; πŸ”’
use revm::context::ContextTr; πŸ”’
use revm::context::JournalTr; πŸ”’
use revm::inspector::JournalExt; πŸ”’
use revm::interpreter::CallInputs; πŸ”’
use revm::interpreter::CallOutcome; πŸ”’
use revm::interpreter::CreateInputs; πŸ”’
use revm::interpreter::CreateOutcome; πŸ”’
use revm::interpreter::InstructionResult; πŸ”’
use revm::interpreter::Interpreter; πŸ”’
use revm::interpreter::interpreter_types::Jumps; πŸ”’
use revm::interpreter::interpreter_types::LoopControl; πŸ”’
use revm::interpreter::interpreter_types::ReturnData; πŸ”’
use soldb_core::EvmWord; πŸ”’
use soldb_core::StepRecord; πŸ”’
use soldb_core::StepTable; πŸ”’
use std::borrow::Borrow; πŸ”’
use std::fmt; πŸ”’
use std::sync::Arc; πŸ”’

StructsΒ§

DebugRecorder
Records every opcode step of the debugged calls into a [StepTable], with the steps that each call and creation spans.
OpenFrame πŸ”’
A frame that runs now.
PendingStep πŸ”’
What a step records when it starts.

ConstantsΒ§

MAX_INPUTS πŸ”’
The most stack words one instruction reads: SWAP16 reads 17.

FunctionsΒ§

memory_write πŸ”’
The destination a memory-writing opcode takes from its pre-execution stack. Memory-reading opcodes can expand memory but leave all new bytes zero.