Source code
Revision control
Copy as Markdown
Other Tools
// frame.arguments is "live" (it reflects assignments to arguments).
var g = newGlobal({newCompartment: true});
var dbg = new Debugger(g);
var log = '';
var args;
dbg.onDebuggerStatement = function (frame) {
if (args === undefined)
args = frame.arguments;
else
assertEq(frame.arguments, args);
log += args[0];
assertEq(frame.eval("x = '0';").return, '0');
log += args[0];
};
g.eval("function f(x) { x = '2'; debugger; x = '3'; debugger; }");
g.f("1");
assertEq(log, "2030");