1 // Copyright 2014 the V8 project authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 // Flags: --expose-debug-as debug 6 7 Debug = debug.Debug 8 var exception = null; 9 10 function breakListener(event, exec_state, event_data, data) { 11 if (event != Debug.DebugEvent.Break) return; 12 try { 13 exec_state.prepareStep(Debug.StepAction.StepIn, 1); 14 // Assert that the break happens at an intended location. 15 assertTrue(exec_state.frame(0).sourceLineText().indexOf("// break") > 0); 16 } catch (e) { 17 exception = e; 18 } 19 } 20 21 Debug.setListener(breakListener); 22 23 debugger; // break 24 25 function f(x) { 26 return x; // break 27 } // break 28 29 Debug.setBreakPoint(f, 0, 0); // break 30 Debug.scripts(); // break 31 debug.MakeMirror(f); // break 32 33 new Error("123").stack; // break 34 Math.sin(0); // break 35 36 f("this should break"); // break 37 38 Debug.setListener(null); // break 39 40 f("this should not break"); 41 42 assertNull(exception); 43