Trace
Every call of a forge test, decoded, on the source line it ran.
Trace shows one test at a time. The exporter decodes each frame with your project's own ABIs and ties it to the exact source lines it executed, so you read calls instead of opcodes.
The three views
| View | Shows |
|---|---|
| Call trace | The calls in order with arguments, return values, events and gas; cheatcodes and events can be hidden |
| Call graph | The same test as contracts and the calls between them |
| Scenario | The Lab's scenario editor on this run's contract (see Scenarios) |
Panels
- Tests on the left, with pass, fail and the kind of test (unit, fuzz, invariant).
- Source on the right: the line a selected call ran. Ask AI is the same panel's other tab.
- Token transfers and Net balance change under the trace, for tests that move tokens.
- The fork picker switches between the local run and the testnet forks of the same tests.
Keyboard
| Key | Does |
|---|---|
| ↑ ↓ | Step through calls |
| ← → | Fold, unfold |
| / | Search calls |
| A | Ask AI about the selected call |
| 1 2 3 | Call trace, Call graph, Scenario |
| [ ] | Toggle the side panels |
| F | Full screen |
| ⌘R | Reload trace (local Luora or a linked bridge) |
Fuzz and invariant tests are listed with their runs, but only unit tests get line-by-line step data.