Remote Debugging Protocol: Difference between revisions

→‎Listing Stack Frames: Delete stray "id" properties --- no longer needed.
(→‎Requests and Replies: Define "unrecognized-packet-type" error.)
(→‎Listing Stack Frames: Delete stray "id" properties --- no longer needed.)
Line 628: Line 628:
where each <i>frame</i> has the form:
where each <i>frame</i> has the form:


   { "actor":<i>actor</i>, "depth":<i>depth</i>, "id":<i>id</i>,
   { "actor":<i>actor</i>, "depth":<i>depth</i>, "type":<i>type</i>, "this":<i>this</i>, ... }
    "type":<i>type</i>, "this":<i>this</i>, ... }


where:
where:
Line 635: Line 634:
* <i>actor</i> is the name of an actor representing this frame;
* <i>actor</i> is the name of an actor representing this frame;
* <i>depth</i> is the number of this frame, starting with zero for the youngest frame on the stack;
* <i>depth</i> is the number of this frame, starting with zero for the youngest frame on the stack;
* <i>id</i> is a unique number assigned to this stack frame, to help the client identify frames across pauses;
* <i>type</i> is a string indicating what sort of frame this is; and
* <i>type</i> is a string indicating what sort of frame this is; and
* <i>this</i> is a grip on the value of <tt>this</tt> for this call.
* <i>this</i> is a grip on the value of <tt>this</tt> for this call.
Line 647: Line 645:
A frame for global code has the form:
A frame for global code has the form:


   { "actor":<i>actor</i>, "depth":<i>depth</i>, "id":<i>id</i>,
   { "actor":<i>actor</i>, "depth":<i>depth</i>, "type":"global", "this":<i>this</i>,
    "type":"global", "this":<i>this</i>,
     "where":<i>location</i>, "environment":<i>environment</i> }
     "where":<i>location</i>, "environment":<i>environment</i> }


Line 662: Line 659:
A frame for an ordinary JavaScript function call has the form:
A frame for an ordinary JavaScript function call has the form:


   { "actor":<i>actor</i>, "depth":<i>depth</i>, "id":<i>id</i>,
   { "actor":<i>actor</i>, "depth":<i>depth</i>, "type":"call", "this":<i>this</i>,  
    "type":"call", "this":<i>this</i>,  
     "where":<i>location</i>, "environment",<i>environment</i>,
     "where":<i>location</i>, "environment",<i>environment</i>,
     "callee":<i>callee</i>, "callee-name":<i>callee-name</i>, "arguments":<i>arguments</i> }
     "callee":<i>callee</i>, "callee-name":<i>callee-name</i>, "arguments":<i>arguments</i> }
Line 683: Line 679:
A frame for a call to <tt>eval</tt> has the form:
A frame for a call to <tt>eval</tt> has the form:


   { "actor":<i>actor</i>, "depth":<i>depth</i>, "id":<i>id</i>,
   { "actor":<i>actor</i>, "depth":<i>depth</i>, "type":"eval", "this":<i>this</i>,
    "type":"eval", "this":<i>this</i>,
     "where":<i>location</i>, "environment",<i>environment</i> }
     "where":<i>location</i>, "environment",<i>environment</i> }


Line 693: Line 688:
When the client evaluates an expression with an <tt>client-evaluate</tt> packet, the evaluation appears on the stack as a special kind of frame, of the form:
When the client evaluates an expression with an <tt>client-evaluate</tt> packet, the evaluation appears on the stack as a special kind of frame, of the form:


   { "actor":<i>actor</i>, "depth":<i>depth</i>, "id":<i>id</i>,
   { "actor":<i>actor</i>, "depth":<i>depth</i>, "type":"client-evaluate", "this":<i>this</i>,
    "type":"client-evaluate", "this":<i>this</i>,
     "where":<i>location</i>, "environment",<i>environment</i> }
     "where":<i>location</i>, "environment",<i>environment</i> }


Confirmed users
497

edits