|
|
| Line 98: |
Line 98: |
|
| |
|
| ==Debug.Frame== | | ==Debug.Frame== |
|
| |
| A <code>Debug.Frame</code> instance represents a debuggee stack frame. It provides operations for finding the script the frame is executing, the frame that invoked it, and the lexical scope in which the execution is taking place.
| |
|
| |
| A <code>Debug.Frame</code> instance is a weak reference to the frame; once the debuggee destroys the frame (perhaps by returning from the function or leaving an <code>eval</code> call), further operations on the <code>Debug.Frame</code> instance will raise an error.
| |
|
| |
| Debugger code cannot construct <code>Debug.Frame</code> instances itself. SpiderMonkey creates them when calling hook functions, and <code>Debug.Frame.prototype.olderFrame</code> creates them as needed as the stack is traversed.
| |
|
| |
| A <code>Debug.Frame</code> instance has the following properties, which are all read-only:
| |
|
| |
| <dl>
| |
| <dt>type
| |
| <dd>A string describing what sort of frame this is:
| |
| <ul>
| |
| <li><code>"global"</code>
| |
| <li><code>"call"</code>
| |
| <li><code>"eval"</code>
| |
| <li><code>"host"</code>
| |
| <li><code>"debugger"</code>
| |
| </ul>
| |
| </dl>
| |
|
| |
| <dt>older
| |
| <dt>depth
| |
|
| |
|
| |
| <dt>generator
| |
| <dt>callee
| |
| <dt>script
| |
| <dt>offset
| |
| <dt>scope
| |
| <dt>this
| |
| <dt>arguments
| |
| </dl>
| |
|
| |
| A <code>Debug.Frame</code> instance has the following methods:
| |
|
| |
| <dl>
| |
| <dt>olderFrame()
| |
| <dd>Return the frame that invoked this frame, or <code>null</code> if this is the oldest debuggee frame.
| |
|
| |
| <dt>frame
| |
|
| |
|
| |
| generators
| |
|
| |
|
| ==Debug.Script== | | ==Debug.Script== |