OLD | NEW |
1 // Copyright 2015 the V8 project authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // Flags: --expose-debug-as debug --debug-eval-readonly-locals | 5 // Flags: --expose-debug-as debug |
6 | 6 |
7 Debug = debug.Debug | 7 Debug = debug.Debug |
8 | 8 |
9 var exception = null; | 9 var exception = null; |
10 function listener(event, exec_state, event_data, data) { | 10 function listener(event, exec_state, event_data, data) { |
11 if (event != Debug.DebugEvent.Break) return; | 11 if (event != Debug.DebugEvent.Break) return; |
12 try { | 12 try { |
| 13 exec_state.frame(0).evaluate("a = 2"); |
| 14 exec_state.frame(0).evaluate("e = 3"); |
13 exec_state.frame(0).evaluate("bar()"); | 15 exec_state.frame(0).evaluate("bar()"); |
| 16 exec_state.frame(0).evaluate("a++"); |
| 17 exec_state.frame(0).evaluate("e++"); |
14 } catch (e) { | 18 } catch (e) { |
15 exception = e; | 19 exception = e; |
16 print(e + e.stack); | 20 print(e + e.stack); |
17 } | 21 } |
18 } | 22 } |
19 | 23 |
20 Debug.setListener(listener); | 24 Debug.setListener(listener); |
21 | 25 |
22 (function() { | 26 (function() { |
23 "use strict"; | 27 "use strict"; |
24 try { | 28 try { |
25 throw 1; | 29 throw 1; |
26 } catch (e) { | 30 } catch (e) { |
27 let a = 1; | 31 let a = 1; |
28 function bar() { | 32 function bar() { |
29 a = 2; | 33 a *= 2; |
30 e = 2; | 34 e *= 2; |
31 } | 35 } |
32 debugger; | 36 debugger; |
33 assertEquals(2, a); | 37 assertEquals(5, a); |
34 assertEquals(2, e); | 38 assertEquals(7, e); |
35 } | 39 } |
36 })(); | 40 })(); |
37 | 41 |
38 Debug.setListener(null); | 42 Debug.setListener(null); |
39 assertNull(exception); | 43 assertNull(exception); |
OLD | NEW |