text: // When there are multiple debuggers, their hooks are called in order.
  
  var g = newGlobal();
  var log;
  var arr = [];
  
  function addDebug(msg) {
      var dbg = new Debugger(g);
      dbg.onDebuggerStatement = function (stack) { log += msg; };
      arr.push(dbg);
  }
  
  addDebug('a');
  addDebug('b');
  addDebug('c');
  
  log = '';
  assertEq(g.eval("debugger; 0;"), 0);
  assertEq(log, 'abc');
  
  // Calling debugger hooks stops as soon as any hook returns a resumption value
  // other than undefined.
  
  arr[0].onDebuggerStatement = function (stack) {
      log += 'a';
      return {return: 1};
  };
  
  log = '';
  assertEq(g.eval("debugger; 0;"), 1);
  assertEq(log, 'a');
  