breakpoint-resume-02.js (898B)
1 // A breakpoint handler hit method can return null to raise an uncatchable error. 2 3 var g = newGlobal({newCompartment: true}); 4 var dbg = Debugger(g); 5 dbg.onDebuggerStatement = function (frame) { 6 g.log += 'D'; 7 8 function hit(frame) { 9 g.log += 'H'; 10 return null; 11 } 12 13 var f = frame.eval("f").return; 14 var s = f.script; 15 var offs = s.getLineOffsets(g.line0 + 3); 16 for (var i = 0; i < offs.length; i++) 17 s.setBreakpoint(offs[i], {hit: hit}); 18 19 var rv = f.call(); 20 assertEq(rv, null); 21 g.log += 'X'; 22 }; 23 24 g.log = ''; 25 g.eval("line0 = Error().lineNumber;\n" + 26 "function f() {\n" + // line0 + 1 27 " try {\n" + // line0 + 2 28 " log += '3';\n" + // line0 + 3 29 " } catch (exc) {\n" + 30 " log += '5';\n" + 31 " }\n" + 32 "}\n" + 33 "debugger;\n"); 34 assertEq(g.log, 'DHX');