Expand description
Conditions on a breakpoint: break TestContract.sol:30 if counter > 4.
A condition is a comparison, or several joined by && and ||, over values the
debugger can actually read at a step: state variables through the storage layout
(including balances[0xabc] and config.limit), the arguments of the frame being
entered, and a few facts about the step itself (pc, gas, depth, op, step).
There is no arithmetic and no calls: a debugger that evaluated Solidity would have to
execute it, and this crate never executes anything.
A condition that cannot be evaluated — a slot the transaction never touched, a name
nothing defines, a comparison between a number and a string — does not stop, and says
why through Evaluation::Unavailable. That is deliberate: stopping on an unreadable
condition would be a false positive, and silently treating it as false would hide the
reason it never fires.
Structs§
- Condition
- A parsed breakpoint condition.
- Condition
Context - Everything a condition can read at one step.
Enums§
- Evaluation
- What a condition evaluated to at one step.
- Value
- A value a condition can compare.