blob: 3c790ad3228bbf87adb45a80bfe4d6892743ffaf [file] [log] [blame]
// null resumption value means terminate the debuggee
var g = newGlobal();
g.debuggeeGlobal = this;
g.eval("(" + function () {
var dbg = new Debugger(debuggeeGlobal);
dbg.onDebuggerStatement = function (frame) {
if (frame.callee === null) {
// The first debugger statement below.
debuggeeGlobal.log += "1";
var cv = frame.eval("f();");
assertEq(cv, null);
debuggeeGlobal.log += "2";
} else {
// The second debugger statement.
debuggeeGlobal.log += "3";
assertEq(frame.callee.name, "f");
return null;
}
};
} + ")()");
var log = "";
debugger;
function f() {
log += "4";
try {
debugger; // the debugger terminates us here
} finally {
log += "5"; // this should not execute
}
}
assertEq(log, "1432");