michael@0: var g1 = newGlobal(); michael@0: var g2 = newGlobal(); michael@0: g1.eval("function f1() { debugger; evaluate('debugger', {newContext:true}) }"); michael@0: g2.eval("function f2() { f1(); assertEq(Number(this), 42) }"); michael@0: g2.f1 = g1.f1; michael@0: michael@0: var dbg = new Debugger(g1,g2); michael@0: dbg.onDebuggerStatement = function(frame) { michael@0: var target = frame.older; michael@0: dbg.onDebuggerStatement = function(frame) { michael@0: assertEq(Number(target.this.unsafeDereference()), 42); michael@0: } michael@0: } michael@0: g2.f2.call(42);