// If frame.onStep returns {throw:}, an exception is thrown in the debuggee. load(libdir + "asserts.js"); var g = newGlobal(); g.eval("function h() { debugger; }\n" + "function f() {\n" + " h();\n" + " return 'fail';\n" + "}\n"); var dbg = Debugger(g); dbg.onDebuggerStatement = function (frame) { frame.older.onStep = function () { return {throw: "pass"}; }; }; assertThrowsValue(g.f, "pass");