| OLD | NEW |
| 1 # Dart VM Service Protocol 3.2 | 1 # Dart VM Service Protocol 3.2 |
| 2 | 2 |
| 3 > Please post feedback to the [observatory-discuss group][discuss-list] | 3 > Please post feedback to the [observatory-discuss group][discuss-list] |
| 4 | 4 |
| 5 This document describes of _version 3.2_ of the Dart VM Service Protocol. This | 5 This document describes of _version 3.2_ of the Dart VM Service Protocol. This |
| 6 protocol is used to communicate with a running Dart Virtual Machine. | 6 protocol is used to communicate with a running Dart Virtual Machine. |
| 7 | 7 |
| 8 To use the Service Protocol, start the VM with the *--observe* flag. | 8 To use the Service Protocol, start the VM with the *--observe* flag. |
| 9 The VM will start a webserver which services protocol requests via WebSocket. | 9 The VM will start a webserver which services protocol requests via WebSocket. |
| 10 It is possible to make HTTP (non-WebSocket) requests, | 10 It is possible to make HTTP (non-WebSocket) requests, |
| (...skipping 901 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 912 ### Breakpoint | 912 ### Breakpoint |
| 913 | 913 |
| 914 ``` | 914 ``` |
| 915 class Breakpoint extends Object { | 915 class Breakpoint extends Object { |
| 916 // A number identifying this breakpoint to the user. | 916 // A number identifying this breakpoint to the user. |
| 917 int breakpointNumber; | 917 int breakpointNumber; |
| 918 | 918 |
| 919 // Has this breakpoint been assigned to a specific program location? | 919 // Has this breakpoint been assigned to a specific program location? |
| 920 bool resolved; | 920 bool resolved; |
| 921 | 921 |
| 922 // Is this a breakpoint that was added synthetically as part of a step |
| 923 // OverAsyncSuspension resume command? |
| 924 bool isSyntheticAsyncContinuation [optional]. |
| 925 |
| 922 // SourceLocation when breakpoint is resolved, UnresolvedSourceLocation | 926 // SourceLocation when breakpoint is resolved, UnresolvedSourceLocation |
| 923 // when a breakpoint is not resolved. | 927 // when a breakpoint is not resolved. |
| 924 SourceLocation|UnresolvedSourceLocation location; | 928 SourceLocation|UnresolvedSourceLocation location; |
| 925 } | 929 } |
| 926 ``` | 930 ``` |
| 927 | 931 |
| 928 A _Breakpoint_ describes a debugger breakpoint. | 932 A _Breakpoint_ describes a debugger breakpoint. |
| 929 | 933 |
| 930 A breakpoint is _resolved_ when it has been assigned to a specific | 934 A breakpoint is _resolved_ when it has been assigned to a specific |
| 931 program location. A breakpoint my remain unresolved when it is in | 935 program location. A breakpoint my remain unresolved when it is in |
| (...skipping 269 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1201 | 1205 |
| 1202 // The extension event kind. | 1206 // The extension event kind. |
| 1203 // | 1207 // |
| 1204 // This is provided for the Extension event. | 1208 // This is provided for the Extension event. |
| 1205 string extensionKind [optional]; | 1209 string extensionKind [optional]; |
| 1206 | 1210 |
| 1207 // The extension event data. | 1211 // The extension event data. |
| 1208 // | 1212 // |
| 1209 // This is provided for the Extension event. | 1213 // This is provided for the Extension event. |
| 1210 ExtensionData extensionData [optional]; | 1214 ExtensionData extensionData [optional]; |
| 1215 |
| 1216 // Is the isolate paused at an await, yield, or yield* statement? |
| 1217 // |
| 1218 // This is provided for the event kinds: |
| 1219 // PauseBreakpoint |
| 1220 // PauseInterrupted |
| 1221 bool atAsyncSuspension [optional] |
| 1211 } | 1222 } |
| 1212 ``` | 1223 ``` |
| 1213 | 1224 |
| 1214 An _Event_ is an asynchronous notification from the VM. It is delivered | 1225 An _Event_ is an asynchronous notification from the VM. It is delivered |
| 1215 only when the client has subscribed to an event stream using the | 1226 only when the client has subscribed to an event stream using the |
| 1216 [streamListen](#streamListen) RPC. | 1227 [streamListen](#streamListen) RPC. |
| 1217 | 1228 |
| 1218 For more information, see [events](#events). | 1229 For more information, see [events](#events). |
| 1219 | 1230 |
| 1220 ### EventKind | 1231 ### EventKind |
| (...skipping 1105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2326 | 2337 |
| 2327 An _ExceptionPauseMode_ indicates how the isolate pauses when an exception | 2338 An _ExceptionPauseMode_ indicates how the isolate pauses when an exception |
| 2328 is thrown. | 2339 is thrown. |
| 2329 | 2340 |
| 2330 ### StepOption | 2341 ### StepOption |
| 2331 | 2342 |
| 2332 ``` | 2343 ``` |
| 2333 enum StepOption { | 2344 enum StepOption { |
| 2334 Into, | 2345 Into, |
| 2335 Over, | 2346 Over, |
| 2347 OverAsyncSuspension, |
| 2336 Out | 2348 Out |
| 2337 } | 2349 } |
| 2338 ``` | 2350 ``` |
| 2339 | 2351 |
| 2340 A _StepOption_ indicates which form of stepping is requested in a [resume](#resu
me) RPC. | 2352 A _StepOption_ indicates which form of stepping is requested in a [resume](#resu
me) RPC. |
| 2341 | 2353 |
| 2342 ### Success | 2354 ### Success |
| 2343 | 2355 |
| 2344 ``` | 2356 ``` |
| 2345 class Success extends Response { | 2357 class Success extends Response { |
| (...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2468 | 2480 |
| 2469 ## Revision History | 2481 ## Revision History |
| 2470 | 2482 |
| 2471 version | comments | 2483 version | comments |
| 2472 ------- | -------- | 2484 ------- | -------- |
| 2473 1.0 | initial revision | 2485 1.0 | initial revision |
| 2474 2.0 | Describe protocol version 2.0. | 2486 2.0 | Describe protocol version 2.0. |
| 2475 3.0 | Describe protocol version 3.0. Added UnresolvedSourceLocation. Added Sen
tinel return to getIsolate. Add AddedBreakpointWithScriptUri. Removed Isolate.
entry. The type of VM.pid was changed from string to int. Added VMUpdate events
. Add offset and count parameters to getObject() and offset and count fields to
Instance. Added ServiceExtensionAdded event. | 2487 3.0 | Describe protocol version 3.0. Added UnresolvedSourceLocation. Added Sen
tinel return to getIsolate. Add AddedBreakpointWithScriptUri. Removed Isolate.
entry. The type of VM.pid was changed from string to int. Added VMUpdate events
. Add offset and count parameters to getObject() and offset and count fields to
Instance. Added ServiceExtensionAdded event. |
| 2476 3.1 | Add the getSourceReport RPC. The getObject RPC now accepts offset and cou
nt for string objects. String objects now contain length, offset, and count pro
perties. | 2488 3.1 | Add the getSourceReport RPC. The getObject RPC now accepts offset and cou
nt for string objects. String objects now contain length, offset, and count pro
perties. |
| 2477 3.2 | Isolate objects now include the runnable bit and many debugger related RPC
s will return an error if executed on an isolate before it is runnable. | 2489 3.2 | Isolate objects now include the runnable bit and many debugger related RPC
s will return an error if executed on an isolate before it is runnable. |
| 2478 | 2490 3.3 | Pause event now indicates if the isolate is paused at an await, yield, or
yield* suspension point via the 'atAsyncSuspension' field. Resume command now su
pports the step parameter 'OverAsyncSuspension'. A Breakpoint added syntheticall
y by an 'OverAsyncSuspension' resume command identifies itself as such via the '
isSyntheticAsyncContinuation' field. |
| 2479 | 2491 |
| 2480 [discuss-list]: https://groups.google.com/a/dartlang.org/forum/#!forum/observato
ry-discuss | 2492 [discuss-list]: https://groups.google.com/a/dartlang.org/forum/#!forum/observato
ry-discuss |
| OLD | NEW |