breakpoint-resume-03.js (781B)
1 // A breakpoint handler hit method can return {return: val} to force the frame to return. 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 {return: 'ok'}; 11 } 12 13 var f = frame.eval("f").return; 14 var s = f.script; 15 var offs = s.getLineOffsets(g.line0 + 2); 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.return, 'ok'); 21 g.log += 'X'; 22 }; 23 24 g.log = ''; 25 g.eval("line0 = Error().lineNumber;\n" + 26 "function f() {\n" + // line0 + 1 27 " log += '2';\n" + // line0 + 2 28 "}\n" + 29 "debugger;\n"); 30 assertEq(g.log, 'DHX');