michael@0: var g = newGlobal(); michael@0: var dbg = new Debugger(g); michael@0: michael@0: g.eval("function h() { debugger; }"); michael@0: g.eval("function g() { h() }"); michael@0: g.eval("function f() { var blah = 333; g() }"); michael@0: michael@0: dbg.onDebuggerStatement = function(frame) { michael@0: frame = frame.older; michael@0: g.trace = frame.older.eval("(new Error()).stack;").return; michael@0: } michael@0: g.f(); michael@0: michael@0: assertEq(typeof g.trace, "string"); michael@0: michael@0: var frames = g.trace.split("\n"); michael@0: assertEq(frames[0].contains("eval code"), true); michael@0: assertEq(frames[1].startsWith("f@"), true); michael@0: assertEq(frames[2].startsWith("@"), true);