michael@0: // onPop handlers fire even on frames that make tail calls. michael@0: var g = newGlobal(); michael@0: var dbg = new Debugger(g); michael@0: var log; michael@0: michael@0: g.eval('function f(n) { if (n > 0) f(n-1); else debugger; }'); michael@0: michael@0: dbg.onEnterFrame = function handleEnter(frame) { michael@0: log += '('; michael@0: frame.onPop = function handlePop(c) { michael@0: log += ')'; michael@0: assertEq(typeof c == "object" && 'return' in c, true); michael@0: }; michael@0: }; michael@0: michael@0: log = ''; michael@0: g.f(10); michael@0: assertEq(log, "((((((((((()))))))))))");