![]() It is a “debugger”, representing the continuation of debuggee code invoked by the debugger. Its immediate caller is a frame running debuggee code or We call those stack frames a Debugger does reveal visible frames.Ī frame is a visible frame if any of the following are true: When inspecting the call stack, Debugger does not reveal all the frames that are actually present on the stack: while it does reveal all frames running debuggee code, it omits frames running the debugger’s own code, and omits most frames running non-debuggee code. Note that frames only become inactive at times that are predictable for the debugger: when the debuggee runs, or when the debugger removes frames from the stack itself. When the debuggee pops a stack frame (say, because a function call has returned or an exception has been thrown from it), the Debugger.Frame instance referring to that frame becomes inactive: its live property becomes false, and accessing its other properties or calling its methods throws an exception. This allows the code using each Debugger instance to place whatever properties it likes on its Debugger.Frame instances, without worrying about interfering with other debuggers.) ![]() (If more than one Debugger instance is debugging the same code, each Debugger gets a separate Debugger.Frame instance for a given frame. Debugger code can add its own properties to a frame object and expect to find them later, use = to decide whether two expressions refer to the same frame, and so on. ![]() Similarly, walking the stack back to a previously accessed frame yields the same frame object as before. Every handler method called while the debuggee is running in a given frame is given the same frame object. Given a Debugger.Frame instance, you can find the script the frame is executing, walk the stack to older frames, find the lexical environment in which the execution is taking place, and so on.įor a given Debugger instance, SpiderMonkey creates only one Debugger.Frame instance for a given visible frame. Turning on Firefox tests for a new configurationĪ Debugger.Frame instance represents a visible stack frame.Getting Set Up To Work On The Firefox Codebase.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |