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