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
|
v0.1.5
|
||||||
|
|
||||||
* minor bug fixes
|
* 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, {
|
return Object.create(events.EventEmitter.prototype, {
|
||||||
close: {
|
close: {
|
||||||
value: function()
|
value: function()
|
||||||
|
@ -244,67 +311,7 @@ exports.create = function(conn, debugr, debuggerPort, config) {
|
||||||
//Backend
|
//Backend
|
||||||
enableDebugger: {
|
enableDebugger: {
|
||||||
value: function(always) {
|
value: function(always) {
|
||||||
debug = debugr.attachDebugger(debuggerPort);
|
attach();
|
||||||
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);
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
dispatchOnInjectedScript: {
|
dispatchOnInjectedScript: {
|
||||||
|
@ -473,7 +480,6 @@ exports.create = function(conn, debugr, debuggerPort, config) {
|
||||||
populateScriptObjects: {
|
populateScriptObjects: {
|
||||||
value: function(seq) {
|
value: function(seq) {
|
||||||
sendResponse(seq, true, {});
|
sendResponse(seq, true, {});
|
||||||
this.enableDebugger();
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
getInspectorState: {
|
getInspectorState: {
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "node-inspector",
|
"name": "node-inspector",
|
||||||
"version": "0.1.5",
|
"version": "0.1.6",
|
||||||
"description": "Web Inspector based nodeJS debugger",
|
"description": "Web Inspector based nodeJS debugger",
|
||||||
"homepage": "http://github.com/dannycoates/node-inspector",
|
"homepage": "http://github.com/dannycoates/node-inspector",
|
||||||
"author": "Danny Coates <dannycoates@gmail.com>",
|
"author": "Danny Coates <dannycoates@gmail.com>",
|
||||||
|
|
Загрузка…
Ссылка в новой задаче