Browse Source

debugger: Clean ups, bug fixes

v0.7.4-release
Ryan Dahl 14 years ago
parent
commit
0946474b5c
  1. 28
      lib/_debugger.js

28
lib/_debugger.js

@ -140,8 +140,10 @@ var natives = process.binding('natives');
Client.prototype._addScript = function(desc) {
this.scripts[desc.id] = desc;
desc.isNative = (desc.name.replace('.js', '') in natives) ||
desc.name == 'node.js';
if (desc.name) {
desc.isNative = (desc.name.replace('.js', '') in natives) ||
desc.name == 'node.js';
}
};
@ -153,33 +155,40 @@ Client.prototype._removeScript = function(desc) {
Client.prototype._onResponse = function(res) {
for (var i = 0; i < this._reqCallbacks.length; i++) {
var cb = this._reqCallbacks[i];
if (this._reqCallbacks[i].request_seq == cb.request_seq) break;
if (this._reqCallbacks[i].request_seq == res.body.request_seq) break;
}
var self = this;
var handled = false;
if (res.headers.Type == 'connect') {
// Request a list of scripts for our own storage.
self.reqScripts();
self.emit('ready');
handled = true;
} else if (res.body && res.body.event == 'break') {
this.emit('break', res.body);
handled = true;
} else if (res.body && res.body.event == 'afterCompile') {
this._addHandle(res.body.body.script);
handled = true;
} else if (res.body && res.body.event == 'scriptCollected') {
// ???
this._removeScript(res.body.body.script);
handled = true;
}
} else if (cb) {
if (cb) {
this._reqCallbacks.splice(i, 1);
handled = true;
cb(res.body);
} else {
this.emit('unhandledResponse', res.body);
}
if (!handled) this.emit('unhandledResponse', res.body);
};
@ -418,6 +427,7 @@ Interface.prototype.handleCommand = function(cmd) {
self.tryQuit();
} else if (/^r(un)?/.test(cmd)) {
self._lastCommand = null;
if (self.child) {
self.restartQuestion(function (yes) {
if (!yes) {
@ -497,6 +507,10 @@ Interface.prototype.handleCommand = function(cmd) {
client.reqContinue();
} else if (/^k(ill)?/.test(cmd)) {
if (!client) {
self.printNotConnected();
return;
}
// kill
if (self.child) {
self.killQuestion(function (yes) {

Loading…
Cancel
Save