• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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