Script-clearBreakpoint-04.js (721B)
1 // clearBreakpoint clears breakpoints for the current Debugger object only. 2 3 var g = newGlobal({newCompartment: true}); 4 5 var hits = 0; 6 var handler = { 7 hit: function (frame) { 8 hits++; 9 frame.script.clearBreakpoint(handler); 10 } 11 }; 12 13 function attach(i) { 14 var dbg = Debugger(g); 15 dbg.onDebuggerStatement = function (frame) { 16 var s = frame.script; 17 var offs = s.getLineOffsets(g.line0 + 2); 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 "Math.sin(0);\n"); // line0 + 2 28 assertEq(hits, 4);