Skip to content

[debug] integrate soldb into foundry #16557

Description

@djolertrk

Foundry's built-in debugger is an opcode-level stepper; source-level breakpoints remain a pain point (#5765, #5510). soldb is an ETHDebug-first, LLDB-style Solidity debugger (REPL with break/step/print, DAP server, tx trace/simulate, per-line gas profiling) that falls back to legacy source maps, if there is no ETHDebug generated.

Some potential ways to do it:

  • forge test --debug / forge debug hand execution to soldb, either by linking soldb-debugger/soldb-repl (preferred: forge tests run in revm or evm2 in-process, so soldb can consume forge's step traces directly), or by shelling out to the CLI for on-chain txs (cast run)
  • forge emits ETHDebug/legacy-source-mappings artifacts and auto-builds the address:Contract:dir mappings from its traces
  • later: soldb-dap for IDE attach

Of course part of the problem is in compiler, so both solar and solc will need to generate proper debug info, so consumers such as soldb can consume it right.

The repo: https://github.com/walnuthq/soldb

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    • Status
      Backlog

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions