Remote Debugging Protocol: Difference between revisions

Jump to navigation Jump to search
→‎Grips: Fix thread grip release protocol.
(→‎Grips: Fix thread grip release protocol.)
Line 362: Line 362:
If the client wishes to hold a reference to an object in the debuggee across pauses, it must send a request to the grip's actor of the form:
If the client wishes to hold a reference to an object in the debuggee across pauses, it must send a request to the grip's actor of the form:


   { "to":<i>actor</i>, "type":"thread-grip" }
   { "to":<i>grip-actor</i>, "type":"thread-grip" }


where <i>actor</i> is the pause-parented actor from the existing grip. The grip actor will reply:
where <i>grip-actor</i> is the pause-parented actor from the existing grip. The grip actor will reply:


   { "from":<i>actor</i>, "thread-grip":<i>thread-grip</i> }
   { "from":<i>grip-actor</i>, "thread-grip":<i>thread-grip</i> }


where <i>thread-grip</i> is a new grip on the same object, but whose actor is parented by the thread actor, not the pause actor. The client can release this grip by sending the current pause actor a request of the form:
where <i>thread-grip</i> is a new grip on the same object, but whose actor is parented by the thread actor, not the pause actor. The client can release this grip by sending the grip actor a request of the form:


   { "to":<i>pause-actor</i>, "type":"release-grip", "grip":<i>grip</i> }
   { "to":<i>thread-grip-actor</i>, "type":"release-grip", "grip":<i>grip</i> }


The pause actor will reply, simply:
The thread grip actor will reply, simply:


   { "from":<i>pause-actor</i> }
   { "from":<i>thread-grip-actor</i> }


The client may only send messages to grip actors while the thread is paused, even if the grip actors are children of the thread, not the pause.
The client may only send messages to grip actors while the thread is paused, even if the grip actors are children of the thread, not the pause.
Confirmed users
497

edits

Navigation menu