Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

meta(debugger/tracing): tracking issue for debugger and tracing improvements #4440

Closed
mds1 opened this issue Feb 27, 2023 · 2 comments
Closed
Labels
A-debugger Area: debugger A-tracing Area: tracing C-cast Command: cast C-forge Command: forge Cmd-forge-debug Command: forge run T-meta Type: meta

Comments

@mds1
Copy link
Collaborator

mds1 commented Feb 27, 2023

Overview

Placing these in the same issue because a refactor should let us reuse most/all of the same code for both debugging and traces, within both forge and cast. The difference between "trace view" and "debug view" then is just what's shown on the screen. For example, you can imagine the debugger config looking something like this (made up type names within the Options):

struct DebuggerConfig {
  trace: Option<CallTrace>,
  opcodes: Option<Vec<Opcodes>>,
  memory_states: Option<Vec<Memory>>,
  stack_states: Option<Vec<Stack>>,
  srcmap: Option<SrcMap>,
}

where "trace view" simply has None everywhere except for trace, while debugger mode may have everything enabled. Users could toggle each config option on/off in the debugger UI.

The debugger should be interactive to allow for collapsing traces, show/hiding more information, etc. Tenderly debugger/trace UX is very nice IMO so is a good source of inspiration. More info coming soon, need to link existing issues here

Issues

this is a work in progress

@zerosnacks
Copy link
Member

Closing in favor of #927 + #3390

@zerosnacks zerosnacks closed this as not planned Won't fix, can't repro, duplicate, stale Jun 27, 2024
@mazurroman
Copy link

mazurroman commented Sep 16, 2024

gm Foundry,

I am Roman, founder of Walnut, a web-based transaction debugger and Simulator for Starknet.

I am currently in discussions with the Ethereum Foundation about potentially developing a local debugger for Ethereum with support for debugging Foundry tests (likely as a VSCode extension).

I’m curious: what are your plans regarding this and issues #3390 and #5784? How urgent are those tasks? If we proceed and develop a high-quality EVM debugger, would you be interested in integrating it with Foundry, rather than building your own custom solution? We would greatly appreciate any thoughts you could share on this.

Technically, if we proceed, we will create an open-source, fully local tool, with no dependencies on centralized servers.

@jenpaff jenpaff moved this from Todo to Completed in Foundry Sep 30, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-debugger Area: debugger A-tracing Area: tracing C-cast Command: cast C-forge Command: forge Cmd-forge-debug Command: forge run T-meta Type: meta
Projects
Archived in project
Development

No branches or pull requests

3 participants