-
Notifications
You must be signed in to change notification settings - Fork 29.6k
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
regression: 3rd party debuggers are incompatible with node8 nighlies #12364
Comments
@joshgav Any thoughts on this? I thought I read at one point that |
Keeping uniform behaviour across all current LTS lines is quite helpful. Once all LTS nodes support --inspect-brk, users can switch over to it. |
yea, I'm +1 on this |
So the logic is that it's quicker to re-add |
We could backport |
@MylesBorins @nodejs/lts what do you think of above? Should we discuss in WG meeting, or should I PR a backport? |
@sam-github If you want to, I think opening a PR is a good idea. There isn’t really any need to wait for a meeting if there is consensus that it should happen. |
From my reading, I think the argument is slightly different than the way you put it. Without knowing the precise version upfront, I think it is hard to know whether @roblourens wouldn't you still need to distinguish Node |
@ofrobots, good point. I didn't realize the inspector only got introduced halfway into 6.x. So, we'll need to get the backwards-compatible |
@sam-github Either way we should backport |
In later half of 6.x, yes, but it wasn't there initially. And yes, I agree:
|
@ofrobots That's right, thanks. We do still need to do version detection for which debug protocol to use, but only in the simple case when we run with Node on the user's path. But if the user provides another "runtimeExecutable", which might be a path to a shell script or 'npm' or another version of node, it's not safe to invoke that with |
--inspect-brk didn't exist prior to 7.6.0, and --debug-brk doesn't exist after nodejs#12197, leaving no consistent way to start node with inspector activated and breaking on first line. Add --debug-brk back in as an undocumented option until 7.x is no longer supported. Fixes: nodejs#12364
Wait so in and node4:
@roblourens how do you deal with this? Don't you feel fixing this issue will be a bandaid? |
@gibfahn It's a wrong assumption.
So restoring the |
@refack
That decision hasn't been made, it'll probably happen in #12580. |
I made contact with JetBrains they have the same issue, but FWIW they already do version detection and select which parameter to pass. They claim version detection is robust, and had received no user complaints about the edge-case of a wrapper script as "runtimeExecutable". @gibfahn I believe this was discussed ad nauseum... nodejs/node-inspect#43, #12197, nodejs/CTC#94, nodejs/CTC#40, nodejs/diagnostics#67, #7266, #10276, #10187, #11770, #11207, #11431, #12352, #11421, #11441 I understand it was a "fast" deprecation because of V8 constraints, but still after considerable thought decisions were made, and I don't think this issue if enough to revert those decisions, and for a non optimal ad-hoc solution. |
Wouldn't the simplest solution be to simply keep |
The switch is not the critical part in that scenario, however. The underlying protocol changed completely. The older IDE won't be capable of supporting it without updates anyway. |
@jsumners I'm talking about an update no upgrade. JetBrains and VSCode manage the communication with the nodejs debugger as an updateable plugin. |
👍 |
@refack Our node debug extension is packaged with the app and can't be updated out of band, so the only way to get a working version will be to update VS Code. |
By the way, what is |
Node.js plugin is bundled with WebStorm and some other JetBrains IDEs and can not be updated without the IDE update. Normally we do not backport fixes to the previous major IDE versions. Support for |
@roblourens @prigara I stand corrected. P.S. @roblourens |
@roblourens I want to change the title of this issue to: |
@refack you as a collab can fixup issue titles, the fact that you did shows up in the conversation thread so the new text (spelling errors, etc. :-) won't be misattributed to the opener of the issue, and often issue titles stand a bit of touching up once the problem is better understood. That is, go for it. |
I understand your hesitation. @jasnell reworking bug report titles for clarity seems to be part of the community care we do to keep the issue tracker in good shape, not so different from adding appropriate labels, would you agree? |
--inspect --debug-brk
yep, updating titles happens all the time. |
--inspect-brk didn't exist prior to 7.6.0, and --debug-brk doesn't exist after nodejs#12197, leaving no consistent way to start node with inspector activated and breaking on first line. Add --debug-brk back in as an undocumented option until 7.x is no longer supported. Fixes: nodejs#12364
Workaround for the meanwhile: |
PR-URL: nodejs#12949 Fixes: nodejs#12364 Fixes: nodejs#12630 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Jan Krems <jan.krems@gmail.com>
In #12197, support for
--inspect --debug-brk
was removed, and--inspect-brk
should now be used instead, but--inspect-brk
is only supported after 7.6.0.Since there is no common way to start the inspector across all Node versions that support it, this is an issue for VS Code and other debug clients which now have to determine which version of Node they are launching and select the right arguments, or detect when using one set fails, and try the other set. It's also annoying for anyone who switches node versions often and uses these arguments from the command line.
Would it be possible to retain support for
--inspect --debug-brk
so that there's one command which can start Node in debug mode across all versions that support the inspector protocol? If it simplifies things, it could be undocumented.The text was updated successfully, but these errors were encountered: