// The last Environment on the environment chain always has .type == "object" and .object === the global object. var g = newGlobal(); var dbg = new Debugger; var gw = dbg.addDebuggee(g); g.eval("function h() { debugger; }"); var hits = 0; dbg.onDebuggerStatement = function (hframe) { var env = hframe.older.environment; while (env.parent) env = env.parent; assertEq(env.type, "object"); assertEq(env.object, gw); hits++; }; g.eval("h();"); g.eval("(function () { h(); return []; })();"); g.eval("with (Math) { h(-2 * PI); }"); assertEq(hits, 3);