1// Copyright 2015 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 8 9var exception = null; 10function listener(event, exec_state, event_data, data) { 11 if (event != Debug.DebugEvent.Break) return; 12 try { 13 exec_state.frame(0).evaluate("a = 2"); 14 exec_state.frame(0).evaluate("e = 3"); 15 exec_state.frame(0).evaluate("bar()"); 16 exec_state.frame(0).evaluate("a++"); 17 exec_state.frame(0).evaluate("e++"); 18 } catch (e) { 19 exception = e; 20 print(e + e.stack); 21 } 22} 23 24Debug.setListener(listener); 25 26(function() { 27 "use strict"; 28 try { 29 throw 1; 30 } catch (e) { 31 let a = 1; 32 function bar() { 33 a *= 2; 34 e *= 2; 35 } 36 debugger; 37 assertEquals(5, a); 38 assertEquals(7, e); 39 } 40})(); 41 42Debug.setListener(null); 43assertNull(exception); 44