Frame-03.js (554B)
1 // When the debugger is triggered from different stack frames that happen to 2 // occupy the same memory, it delivers different Debugger.Frame objects. 3 4 var g = newGlobal({newCompartment: true}); 5 var dbg = Debugger(g); 6 var hits; 7 var a = []; 8 dbg.onDebuggerStatement = function (frame) { 9 for (var i = 0; i < a.length; i++) 10 assertEq(a[i] === frame, false); 11 a.push(frame); 12 hits++; 13 }; 14 15 g.eval("function f() { debugger; }"); 16 g.eval("function h() { debugger; f(); }"); 17 hits = 0; 18 g.eval("for (var i = 0; i < 4; i++) h();"); 19 assertEq(hits, 8);