// getVariable works on ancestors of frame.environment. var g = newGlobal(); var dbg = Debugger(g); var log = ''; dbg.onDebuggerStatement = function (frame) { for (var env = frame.environment; env; env = env.parent) { if (env.find("x") === env) log += env.getVariable("x"); } }; g.eval("var x = 1; { let x = 2; with (Object.create({x: 3})) { debugger; } }"); assertEq(log, "321");