Debugger-clearAllBreakpoints-01.js (826B)
1 // clearAllBreakpoints clears breakpoints for the current Debugger object only. 2 3 var g = newGlobal({newCompartment: true}); 4 5 var hits = 0; 6 function attach(i) { 7 var dbg = Debugger(g); 8 var handler = { 9 hit: function (frame) { 10 hits++; 11 dbg.clearAllBreakpoints(); 12 } 13 }; 14 15 dbg.onDebuggerStatement = function (frame) { 16 var s = frame.script; 17 var offs = s.getLineOffsets(g.line0 + 3); 18 for (var i = 0; i < offs.length; i++) 19 s.setBreakpoint(offs[i], handler); 20 }; 21 } 22 for (var i = 0; i < 4; i++) 23 attach(i); 24 25 g.eval("var line0 = Error().lineNumber;\n" + 26 "debugger;\n" + // line0 + 1 27 "for (var i = 0; i < 7; i++)\n" + // line0 + 2 28 " Math.sin(0);\n"); // line0 + 3 29 assertEq(hits, 4);