Source code

Revision control

Copy as Markdown

Other Tools

var g = newGlobal({newCompartment: true});
var dbg = new Debugger;
var gw = dbg.addDebuggee(g);
var log;
var a = [];
dbg.onDebuggerStatement = function (frame) {
log += 'd';
frame.onStep = function () {
// This handler must not wipe out the debuggee's value in JSContext::iterValue.
log += 's';
// This will use JSContext::iterValue in the debugger.
for (let i of a)
log += 'i';
};
};
log = '';
g.eval("debugger; for (let i of [1,2,3]) print(i);");
assertEq(!!log.match(/^ds*$/), true);