name = "frame"; group = "stack"; shortDescription = "Select and print a stack frame"; longDescription = ""; aliases = [ "f" ]; function execute() { if (arguments.length == 0) requestedFrameIndex = getCurrentFrameIndex(); else requestedFrameIndex = parseInt(arguments[0]); scheduleGetContextInfo(requestedFrameIndex); state = 1; }; function handleResponse(resp, id) { if (state == 1) { var info = resp.result; if (info == undefined) { message("Frame index out of range."); return; } setCurrentFrameIndex(requestedFrameIndex); setCurrentScriptId(info.scriptId); setCurrentLineNumber(info.lineNumber); scheduleGetBacktrace(); state = 2; } else if (state == 2) { var backtrace = resp.result; message("#" + getCurrentFrameIndex() + " " + backtrace[getCurrentFrameIndex()]); } }