Comments (4)
What is the goal. If you're trying to emulate gdb command line then obviously this breaks that - but I think we can do better user experience than GDB.
I'd love for an actual debugging API to be better defined so eg the websocket API ine #57 could be more restful and we could eg implement a grpc API ontop also. Something a little higher level to consume than proctl
This is more comparable to eg JDWP http://docs.oracle.com/javase/8/docs/technotes/guides/jpda/jdwp-spec.html than to a CLI focussed debugger but I think might lead to a richer tool ecosystem - for IDE integration/web frontends/etc.
from delve.
I have absolutely no problem breaking away from gdb style commands. Right now info
is the one that most closely mimics gdb. The goal is to have the best user experience we can.
I'm certainly up for outline a higher level api - I've tossed around the idea of going more traditional client/server route with Delve. All clients (cli, web, ide) would speak with a debug "server" which would speak a well defined protocol, trivializing the addition of new clients.
If you'd like to open a discussion about it I'm up for fleshing the idea out more, and in the meantime I might spike on this idea, and see what it looks like. Initially there was no need for this type of design, however I think now it may be beneficial.
from delve.
Happy to flesh out more. What's the best forum for discussion?
Just as another approach:
https://developer.chrome.com/devtools/docs/protocol/1.1/index
https://developer.chrome.com/devtools/docs/protocol/1.1/console
That being said that doesn't block iterating on the CLI right now.
from delve.
@pnasrat I can create an issue today to begin discussion and track changes.
from delve.
Related Issues (20)
- panic when delve process is stopped HOT 1
- support for Termux debugger with the Android
- How build arm version HOT 1
- Support `dlv types` from DAP (the same way `types` is supported in the command line `dlv` REPL)
- polish go1.23 range-over-func UX HOT 1
- Does delve ignore // line instructions during debug HOT 1
- Breakpoints do not work in packages with a TestMain(*testing.M) function HOT 1
- Unable to print a package string const value during a breakpoint HOT 1
- Error clearing stack watchpoint HOT 2
- Add defer functions to follow-calls tracing option
- Breakpoint line numbers not matching HOT 1
- Hitting compile error when launching delve in devbox HOT 4
- `undefined behavior - version of Delve is too old for Go version 1.22.3 (maximum supported version 1.20)` HOT 2
- trace: allow tracing from (or skip tracing on) G-less threads
- panic when data length is greater than memCache size
- Unable to find escape variables when using Delve HOT 7
- Fail to set watchpoint after clearing one of four HOT 2
- Dwarf parsing infinite loop causes OOM HOT 1
- Feature request: restart the current function HOT 6
- Seeing a warning that delve is too old for the latest Go version 1.22.5 HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from delve.