-
Notifications
You must be signed in to change notification settings - Fork 29.7k
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
Debugger: current multi clients system is unuseful #858
Comments
For the 'main discussion about new debugger':
|
@ofrobots , can you give me link on main discussion about deprecation in V8? |
nodejs/node-v0.x-archive#7473 is relevant. However, I don't think there any discussion that spells this out. I don't speak on behalf of the V8 team, but that's the feeling I have given that Chrome doesn't use the JSON api. I think one of the first steps in the deprecation was to remove the debug agent from V8. I think @bmeck has some context about this. |
Chrome does not use the V8 debugger protocol anymore, they use a bridge to get the debugger context directly ( https://code.google.com/p/chromium/codesearch#chromium/src/v8/src/debug-debugger.js&q=debug-debugger&sq=package:chromium&type=cs ) via There is an effort to move the Chrome devtools protocol out of Chromium right now so that Node/IO.js can use that instead of trying to recreate devtools efforts. I am currently trying to see if they have a public ticket about this, all my communication has been via email. As for the problem of multiple clients, https://developer.chrome.com/devtools/docs/debugger-protocol#simultaneous , those are still unaccepted and will most likely stay this way. This has some interesting reasoning, but mainly involves around concurrent side effects on the VM. I doubt it will change in the near future, and I am not sure it is safe to support multiple clients anyway. |
I think this can be closed. Having multiple people debug the same application seems sufficiently niche to me it's not worth bothering. And that's without going into what it would even mean to have two or more people place breakpoints, evaluate code, etc. in a single-threaded application. |
@bnoordhuis , I'm not sure that you understand correctly this issue. But I propose to completely deprecate multiclient system and move this feature to external tools, like node-inspector. Here is my outdated commit where I fix this and other problems #1977 |
You're proposing to remove the ability to connect two or more clients? That wasn't entirely clear to me from your original message. I guess I still don't see the need to do anything. Yes, more than one client doesn't work, but so what? When do people actually do that? |
Current protocol bases on
seq
,request_seq
counters.Pseudo code. Send
backtrace
command:Ok. It works fine.
What about Alice and Bob?
Alice tries to debug app and she pauses in random place of code. Her
seq
couter is4
(Alice.seq=4
).She sends a
backtrace
command and waits for response withrequest_seq=4
.In this moment Bob also sends request to debugger. He sends
lookup
request withBob.seq=4
.And "WOW! So fast lookup!" - thinks Bob, starts to parse response... "But wait! WHAT!"
"It's not for my request!"
From _debug_agent:
Are you see here a problem? =)
What I think about this:
Multi clients is a cool feature for debugger, but it over complicates the protocol realisation, and I do not know a situation where we need two or more debugger clients.
Is there a main discussion about new debugger?
I'm ready to work on some issues after discussion. Some other is out of my competence at this time.
Some other issues:
#781
nodejs/node-v0.x-archive#9156
The text was updated successfully, but these errors were encountered: