Frame-eval-stack.js (539B)
1 var g = newGlobal({newCompartment: true}); 2 var dbg = new Debugger(g); 3 4 g.eval("function h() { debugger; }"); 5 g.eval("function g() { h() }"); 6 g.eval("function f() { var blah = 333; g() }"); 7 8 dbg.onDebuggerStatement = function(frame) { 9 frame = frame.older; 10 g.trace = frame.older.eval("(new Error()).stack;").return; 11 } 12 g.f(); 13 14 assertEq(typeof g.trace, "string"); 15 16 var frames = g.trace.split("\n"); 17 assertEq(frames[0].includes("eval code"), true); 18 assertEq(frames[1].startsWith("f@"), true); 19 assertEq(frames[2].startsWith("@"), true);