version 0.1.6 - closes #25
This commit is contained in:
Родитель
d6d2ba81b1
Коммит
d0deaacf9b
|
@ -1,3 +1,7 @@
|
|||
v0.1.6
|
||||
|
||||
* fixed crash on connect when using watch expressions (Issue 25)
|
||||
|
||||
v0.1.5
|
||||
|
||||
* minor bug fixes
|
||||
|
|
130
lib/session.js
130
lib/session.js
|
@ -231,6 +231,73 @@ exports.create = function(conn, debugr, debuggerPort, config) {
|
|||
}));
|
||||
}
|
||||
|
||||
function attach() {
|
||||
debug = debugr.attachDebugger(debuggerPort);
|
||||
debug.on('break', breakEvent);
|
||||
debug.on('close', function() {
|
||||
//TODO determine proper close behavior
|
||||
debug = {
|
||||
request: function() {
|
||||
console.error('debugger not connected');
|
||||
}
|
||||
};
|
||||
sendEvent('debuggerWasDisabled');
|
||||
});
|
||||
debug.on('connect', function() {
|
||||
sendEvent('debuggerWasEnabled');
|
||||
var args = { arguments: { includeSource: true, types: 4 }};
|
||||
debug.request('scripts', args, function(msg) {
|
||||
parsedScripts(msg);
|
||||
debug.request('listbreakpoints', {},
|
||||
function(msg) {
|
||||
msg.body.breakpoints.forEach(function(bp) {
|
||||
var data;
|
||||
if (bp.type === 'scriptId') {
|
||||
data = {
|
||||
sourceID: bp.script_id,
|
||||
url: sourceIDs[bp.script_id].url,
|
||||
line: bp.line + 1,
|
||||
enabled: bp.active,
|
||||
condition: bp.condition,
|
||||
number: bp.number
|
||||
};
|
||||
breakpoints[bp.script_id + ':' + (bp.line + 1)] = data;
|
||||
sendEvent('restoredBreakpoint', data);
|
||||
}
|
||||
});
|
||||
if (!msg.running) {
|
||||
sendBacktrace();
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
debug.on('exception', function(msg) {
|
||||
breakEvent(msg);
|
||||
});
|
||||
debug.on('error', function(e) {
|
||||
sendEvent('showPanel', { name: 'console' });
|
||||
var err = e.toString(), data;
|
||||
if (err.match(/ECONNREFUSED/)) {
|
||||
err += '\nIs node running with --debug port ' + debuggerPort + '?';
|
||||
}
|
||||
data = {
|
||||
messageObj: {
|
||||
source: 3,
|
||||
type: 0,
|
||||
level: 3,
|
||||
line: 0,
|
||||
url: '',
|
||||
groupLevel: 7,
|
||||
repeatCount: 1,
|
||||
message: err
|
||||
}
|
||||
};
|
||||
sendEvent('addConsoleMessage', data);
|
||||
});
|
||||
}
|
||||
|
||||
attach();
|
||||
|
||||
return Object.create(events.EventEmitter.prototype, {
|
||||
close: {
|
||||
value: function()
|
||||
|
@ -244,67 +311,7 @@ exports.create = function(conn, debugr, debuggerPort, config) {
|
|||
//Backend
|
||||
enableDebugger: {
|
||||
value: function(always) {
|
||||
debug = debugr.attachDebugger(debuggerPort);
|
||||
debug.on('break', breakEvent);
|
||||
debug.on('close', function() {
|
||||
//TODO determine proper close behavior
|
||||
debug = {
|
||||
request: function() {
|
||||
console.error('debugger not connected');
|
||||
}
|
||||
};
|
||||
sendEvent('debuggerWasDisabled');
|
||||
});
|
||||
debug.on('connect', function() {
|
||||
var args = { arguments: { includeSource: true, types: 4 }};
|
||||
debug.request('scripts', args, function(msg) {
|
||||
parsedScripts(msg);
|
||||
debug.request('listbreakpoints', {},
|
||||
function(msg) {
|
||||
msg.body.breakpoints.forEach(function(bp) {
|
||||
var data;
|
||||
if (bp.type === 'scriptId') {
|
||||
data = {
|
||||
sourceID: bp.script_id,
|
||||
url: sourceIDs[bp.script_id].url,
|
||||
line: bp.line + 1,
|
||||
enabled: bp.active,
|
||||
condition: bp.condition,
|
||||
number: bp.number
|
||||
};
|
||||
breakpoints[bp.script_id + ':' + (bp.line + 1)] = data;
|
||||
sendEvent('restoredBreakpoint', data);
|
||||
}
|
||||
});
|
||||
if (!msg.running) {
|
||||
sendBacktrace();
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
debug.on('exception', function(msg) {
|
||||
breakEvent(msg);
|
||||
});
|
||||
debug.on('error', function(e) {
|
||||
sendEvent('showPanel', { name: 'console' });
|
||||
var err = e.toString(), data;
|
||||
if (err.match(/ECONNREFUSED/)) {
|
||||
err += '\nIs node running with --debug port ' + debuggerPort + '?';
|
||||
}
|
||||
data = {
|
||||
messageObj: {
|
||||
source: 3,
|
||||
type: 0,
|
||||
level: 3,
|
||||
line: 0,
|
||||
url: '',
|
||||
groupLevel: 7,
|
||||
repeatCount: 1,
|
||||
message: err
|
||||
}
|
||||
};
|
||||
sendEvent('addConsoleMessage', data);
|
||||
});
|
||||
attach();
|
||||
}
|
||||
},
|
||||
dispatchOnInjectedScript: {
|
||||
|
@ -473,7 +480,6 @@ exports.create = function(conn, debugr, debuggerPort, config) {
|
|||
populateScriptObjects: {
|
||||
value: function(seq) {
|
||||
sendResponse(seq, true, {});
|
||||
this.enableDebugger();
|
||||
}
|
||||
},
|
||||
getInspectorState: {
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "node-inspector",
|
||||
"version": "0.1.5",
|
||||
"version": "0.1.6",
|
||||
"description": "Web Inspector based nodeJS debugger",
|
||||
"homepage": "http://github.com/dannycoates/node-inspector",
|
||||
"author": "Danny Coates <dannycoates@gmail.com>",
|
||||
|
|
Загрузка…
Ссылка в новой задаче