| 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()]); |
| } |
| } |