-
Notifications
You must be signed in to change notification settings - Fork 30k
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: check -e flag in debug break setup #8876
Conversation
@@ -61,7 +61,6 @@ Module._debug = util.debuglog('module'); | |||
// We use this alias for the preprocessor that filters it out | |||
const debug = Module._debug; | |||
|
|||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Unnecessary whitespace change
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Whoops, updated!
When both --debug-brk and --eval are set, and a filename is specified, its full path is not set correctly, causing an error for relative filenames with './' omitted. For example, 'node --debug-brk -e 0 hello.js' throws an error. Since the script referenced by the filename is never run anyway, this change skips resolving its full path if both --debug-brk and --eval are set.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you add a check that verifies the 'foo' argument is not evaluated? Basically, that node --debug-brk -p process.argv[1] foo
prints 'foo'.
@bnoordhuis I've modified |
proc.stderr.on('data', (chunk) => { | ||
procStderr += chunk; | ||
debuggerListening = debuggerListening || | ||
/Debugger listening on/.test(procStderr); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tiny style nit: line continuations should have four spaces of indent. The linter is supposed to check that but it's possible it gets thrown off by the binary operator.
|
||
test(['-e', '0']); | ||
test(['-e', '0', 'foo']); | ||
test(['-p', 'process.argv[1]', 'foo'], /foo/); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you make this a little stricter? E.g. /^\s*foo\s*$/
.
@bnoordhuis Thanks for taking a look - I've made the requested changes, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM if @bnoordhuis and @mscdex are also good with it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM too.
CI failures appear to be unrelated flaky tests. @mscdex does this LGTY? |
c133999
to
83c7a88
Compare
ping @mscdex |
@jasnell It seems like there are no significant build problems with this change, is it ready to be merged in? |
Thanks! Landed in ebff29f. |
When both --debug-brk and --eval are set, and a filename is specified, its full path is not set correctly, causing an error for relative filenames with './' omitted. For example, 'node --debug-brk -e 0 hello.js' throws an error. Since the script referenced by the filename is never run anyway, this change skips resolving its full path if both --debug-brk and --eval are set. PR-URL: #8876 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: James M Snell <jasnell@gmail.com>
this is not landing cleanly on v4.x. Can someone please do a manual backport? |
When both --debug-brk and --eval are set, and a filename is specified, its full path is not set correctly, causing an error for relative filenames with './' omitted. For example, 'node --debug-brk -e 0 hello.js' throws an error. Since the script referenced by the filename is never run anyway, this change skips resolving its full path if both --debug-brk and --eval are set. PR-URL: #8876 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: James M Snell <jasnell@gmail.com>
When both --debug-brk and --eval are set, and a filename is specified, its full path is not set correctly, causing an error for relative filenames with './' omitted. For example, 'node --debug-brk -e 0 hello.js' throws an error. Since the script referenced by the filename is never run anyway, this change skips resolving its full path if both --debug-brk and --eval are set. PR-URL: #8876 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: James M Snell <jasnell@gmail.com>
This LTS release comes with 312 commits. This includes 229 that are test related, 62 that are docs related, 17 which are build / tools related, and 4 commits which are updates to dependencies. Notable Changes: * build: - shared library support is now working for AIX builds (Stewart Addison) #9675 * deps: - *npm*: upgrade npm to 3.10.10 (Rebecca Turner) #9847 - *V8*: Destructuring of arrow function arguments via computed property no longer throws (Michaël Zasso) #10386) * inspector: - /json/version returns object, not an object wrapped in an array (Ben Noordhuis) #9762 * module: - using --debug-brk and --eval together now works as expected (Kelvin Jin) #8876 * process: - improve performance of nextTick up to 20% (Evan Lucas) #8932 * repl: - the division operator will no longer be accidentally parsed as regex (Teddy Katz) #10103 - improved support for generator functions (Teddy Katz) #9852 * timers: - Re canceling a cancelled timers will no longer throw (Jeremiah Senkpiel) #9685 PR-URL: #10394
This LTS release comes with 312 commits. This includes 229 that are test related, 62 that are docs related, 17 which are build / tools related, and 4 commits which are updates to dependencies. Notable Changes: * build: - shared library support is now working for AIX builds (Stewart Addison) #9675 * deps: - *npm*: upgrade npm to 3.10.10 (Rebecca Turner) #9847 - *V8*: Destructuring of arrow function arguments via computed property no longer throws (Michaël Zasso) #10386) * inspector: - /json/version returns object, not an object wrapped in an array (Ben Noordhuis) #9762 * module: - using --debug-brk and --eval together now works as expected (Kelvin Jin) #8876 * process: - improve performance of nextTick up to 20% (Evan Lucas) #8932 * repl: - the division operator will no longer be accidentally parsed as regex (Teddy Katz) #10103 - improved support for generator functions (Teddy Katz) #9852 * timers: - Re canceling a cancelled timers will no longer throw (Jeremiah Senkpiel) #9685 PR-URL: #10394
This LTS release comes with 312 commits. This includes 229 that are test related, 62 that are docs related, 17 which are build / tools related, and 4 commits which are updates to dependencies. Notable Changes: * build: - shared library support is now working for AIX builds (Stewart Addison) nodejs/node#9675 * deps: - *npm*: upgrade npm to 3.10.10 (Rebecca Turner) nodejs/node#9847 - *V8*: Destructuring of arrow function arguments via computed property no longer throws (Michaël Zasso) nodejs/node#10386) * inspector: - /json/version returns object, not an object wrapped in an array (Ben Noordhuis) nodejs/node#9762 * module: - using --debug-brk and --eval together now works as expected (Kelvin Jin) nodejs/node#8876 * process: - improve performance of nextTick up to 20% (Evan Lucas) nodejs/node#8932 * repl: - the division operator will no longer be accidentally parsed as regex (Teddy Katz) nodejs/node#10103 - improved support for generator functions (Teddy Katz) nodejs/node#9852 * timers: - Re canceling a cancelled timers will no longer throw (Jeremiah Senkpiel) nodejs/node#9685 PR-URL: nodejs/node#10394 Signed-off-by: Ilkka Myller <ilkka.myller@nodefield.com>
This LTS release comes with 312 commits. This includes 229 that are test related, 62 that are docs related, 17 which are build / tools related, and 4 commits which are updates to dependencies. Notable Changes: * build: - shared library support is now working for AIX builds (Stewart Addison) nodejs/node#9675 * deps: - *npm*: upgrade npm to 3.10.10 (Rebecca Turner) nodejs/node#9847 - *V8*: Destructuring of arrow function arguments via computed property no longer throws (Michaël Zasso) nodejs/node#10386) * inspector: - /json/version returns object, not an object wrapped in an array (Ben Noordhuis) nodejs/node#9762 * module: - using --debug-brk and --eval together now works as expected (Kelvin Jin) nodejs/node#8876 * process: - improve performance of nextTick up to 20% (Evan Lucas) nodejs/node#8932 * repl: - the division operator will no longer be accidentally parsed as regex (Teddy Katz) nodejs/node#10103 - improved support for generator functions (Teddy Katz) nodejs/node#9852 * timers: - Re canceling a cancelled timers will no longer throw (Jeremiah Senkpiel) nodejs/node#9685 PR-URL: nodejs/node#10394 Signed-off-by: Ilkka Myller <ilkka.myller@nodefield.com>
Checklist
make -j8 test
(UNIX), orvcbuild test nosign
(Windows) passesAffected core subsystem(s)
module
Description of change
When both --debug-brk and --eval are set, and a filename is
specified, its full path is not set correctly, causing an error
for relative filenames with './' omitted.
For example, 'node --debug-brk -e 0 hello.js' throws an error.
Since the script referenced by the filename is never run anyway,
this change skips resolving its full path if both --debug-brk and
--eval are set.