michael@0: // frame.arguments is "live" (it reflects assignments to arguments). michael@0: michael@0: var g = newGlobal(); michael@0: var dbg = new Debugger(g); michael@0: var log = ''; michael@0: var args; michael@0: dbg.onDebuggerStatement = function (frame) { michael@0: if (args === undefined) michael@0: args = frame.arguments; michael@0: else michael@0: assertEq(frame.arguments, args); michael@0: log += args[0]; michael@0: assertEq(frame.eval("x = '0';").return, '0'); michael@0: log += args[0]; michael@0: }; michael@0: michael@0: g.eval("function f(x) { x = '2'; debugger; x = '3'; debugger; }"); michael@0: g.f("1"); michael@0: assertEq(log, "2030");