Browse Source

debugger: call `this.resume()` after `this.run()`

When the debugger has started we need to call `this.resume` otherwise,
the prompt won't appear.

Fixes: https://github.com/nodejs/node/issues/9854
PR-URL: https://github.com/nodejs/node/pull/10099
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Rich Trott <rtrott@gmail.com>
v6
Lance Ball 8 years ago
parent
commit
6410534ec1
  1. 2
      lib/_debugger.js
  2. 13
      test/parallel/test-debug-prompt.js

2
lib/_debugger.js

@ -839,7 +839,7 @@ function Interface(stdin, stdout, args) {
// Run script automatically
this.pause();
setImmediate(() => { this.run(); });
setImmediate(() => { this.run(() => this.resume()); });
}

13
test/parallel/test-debug-prompt.js

@ -0,0 +1,13 @@
'use strict';
const assert = require('assert');
const common = require('../common');
const spawn = require('child_process').spawn;
const proc = spawn(process.execPath, ['debug', 'foo']);
proc.stdout.setEncoding('utf8');
proc.stdout.once('data', common.mustCall((data) => {
assert.strictEqual(data, 'debug> ');
proc.kill();
}));
Loading…
Cancel
Save