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 |