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 7Debug = debug.Debug 8var exception = null; 9 10function 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 21Debug.setListener(breakListener); 22 23debugger; // break 24 25function f(x) { 26 return x; // break 27} // break 28 29Debug.setBreakPoint(f, 0, 0); // break 30Debug.scripts(); // break 31debug.MakeMirror(f); // break 32 33new Error("123").stack; // break 34Math.sin(0); // break 35 36f("this should break"); // break 37 38Debug.setListener(null); // break 39 40f("this should not break"); 41 42assertNull(exception); 43