Bug 761223 - JS Debugger errors prevent me from debugging Orion; r=dcamp

This commit is contained in:
Panos Astithas 2012-06-08 11:21:59 +03:00
parent 4197e5af0e
commit 2655e2afaf
3 changed files with 17 additions and 5 deletions

View File

@ -882,7 +882,7 @@ SourceScripts.prototype = {
this._addScript({ url: aPacket.url, startLine: aPacket.startLine }, true);
// If there are any stored breakpoints for this script, display them again.
for (let bp of DebuggerController.Breakpoints.store) {
for each (let bp in DebuggerController.Breakpoints.store) {
if (bp.location.url == aPacket.url) {
DebuggerController.Breakpoints.displayBreakpoint(bp.location);
}

View File

@ -149,7 +149,9 @@ function eventSource(aProto) {
listener.apply(null, arguments);
} catch (e) {
// Prevent a bad listener from interfering with the others.
Cu.reportError(e);
let msg = e + ": " + e.stack;
Cu.reportError(msg);
dumpn(msg);
}
}
}

View File

@ -170,8 +170,10 @@ ThreadActor.prototype = {
this.conn.send(packet);
return this._nest();
} catch(e) {
Cu.reportError("Got an exception during TA__pauseAndRespond: " + e +
": " + e.stack);
let msg = "Got an exception during TA__pauseAndRespond: " + e +
": " + e.stack;
Cu.reportError(msg);
dumpn(msg);
return undefined;
}
},
@ -1540,11 +1542,19 @@ EnvironmentActor.prototype = {
// TODO: this part should be removed in favor of the commented-out part
// below when getVariableDescriptor lands.
let desc = {
value: this.obj.getVariable(name),
configurable: false,
writable: true,
enumerable: true
};
try {
desc.value = this.obj.getVariable(name);
} catch (e) {
// Avoid "Debugger scope is not live" errors for |arguments|, introduced
// in bug 746601.
if (name != "arguments") {
throw e;
}
}
//let desc = this.obj.getVariableDescriptor(name);
let descForm = {
enumerable: true,