Skip to content
This repository was archived by the owner on Oct 16, 2025. It is now read-only.

Improve debugging technologies in stylus - #179

Open
djolertrk wants to merge 11 commits into
OffchainLabs:mainfrom
walnuthq:feature/usertrace
Open

Improve debugging technologies in stylus#179
djolertrk wants to merge 11 commits into
OffchainLabs:mainfrom
walnuthq:feature/usertrace

Conversation

@djolertrk

@djolertrk djolertrk commented Sep 29, 2025

Copy link
Copy Markdown

Add support for better debugging with cargo-stylus, major features are:

  1. Integrate https://github.com/walnuthq/stylusdb - an LLDB based debugger for Contract programming, focused on stylus
  2. Add usertrace command to track user defined functions
  3. Add integration/roundtrip tests for the features we added (can be extended for the whole project)
  4. Support multi-contract debugging and context changing in stylus

stylusdb was created by walnut as part of stylus sprint. This PR is the culmination of the work and is part of milestone 7 as defined here: https://questbook.app/dashboard/?proposalId=673f39c990449961f5973a73&isRenderingProposalBody=true&grantId=671a105a2047c84bb8a73770&chainId=10&role=community

Move from the private repo. This still depends on the CLI tool -
walnut-dbg.
By doing this, we can specify walnut-dbg.
We needed to add support for external contract building
locally in terms of a dyncamic library, as well as in hostio
we needed to keep context of the external call up-to-date
so we can step into the code during exection of the ext
contract.
To run tests:
$ ./test/run-tests.sh

Also check test/README.md file.
Remove fmt::Display duplicate
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant