| OLD | NEW |
| 1 # Dart VM Service Protocol 0.0 | 1 # Dart VM Service Protocol 0.0 |
| 2 | 2 |
| 3 This document describes _version 0.0_ of the Dart VM Service Protocol. | 3 This document describes _version 0.0_ of the Dart VM Service Protocol. |
| 4 This protocol is used to communicate with a running Dart Virtual | 4 This protocol is used to communicate with a running Dart Virtual |
| 5 Machine. | 5 Machine. |
| 6 | 6 |
| 7 To use the Service Protocol, start the VM with the *--observe* flag. | 7 To use the Service Protocol, start the VM with the *--observe* flag. |
| 8 The VM will start a webserver which services protocol requests via WebSocket. | 8 The VM will start a webserver which services protocol requests via WebSocket. |
| 9 It is possible to make HTTP (non-WebSocket) requests, | 9 It is possible to make HTTP (non-WebSocket) requests, |
| 10 but this does not allow access to VM _events_ and is not documented | 10 but this does not allow access to VM _events_ and is not documented |
| (...skipping 10 matching lines...) Expand all Loading... |
| 21 - [Events](#events) | 21 - [Events](#events) |
| 22 - [Types](#types) | 22 - [Types](#types) |
| 23 - [IDs and Names](#ids-and-names) | 23 - [IDs and Names](#ids-and-names) |
| 24 - [Versioning](#versioning) | 24 - [Versioning](#versioning) |
| 25 - [Private RPCs, Types, and Properties](#private-rpcs-types-and-properties) | 25 - [Private RPCs, Types, and Properties](#private-rpcs-types-and-properties) |
| 26 - [Public RPCs](#public-rpcs) | 26 - [Public RPCs](#public-rpcs) |
| 27 - [addBreakpoint](#addbreakpoint) | 27 - [addBreakpoint](#addbreakpoint) |
| 28 - [addBreakpointAtEntry](#addbreakpointatentry) | 28 - [addBreakpointAtEntry](#addbreakpointatentry) |
| 29 - [evaluate](#evaluate) | 29 - [evaluate](#evaluate) |
| 30 - [evaluateInFrame](#evaluateinframe) | 30 - [evaluateInFrame](#evaluateinframe) |
| 31 - [getCoverage](#getcoverage) | |
| 32 - [getFlagList](#getflaglist) | 31 - [getFlagList](#getflaglist) |
| 33 - [getIsolate](#getisolate) | 32 - [getIsolate](#getisolate) |
| 34 - [getObject](#getobject) | 33 - [getObject](#getobject) |
| 35 - [getStack](#getstack) | 34 - [getStack](#getstack) |
| 36 - [getVersion](#getversion) | 35 - [getVersion](#getversion) |
| 37 - [getVM](#getvm) | 36 - [getVM](#getvm) |
| 38 - [pause](#pause) | 37 - [pause](#pause) |
| 39 - [removeBreakpoint](#removebreakpoint) | 38 - [removeBreakpoint](#removebreakpoint) |
| 40 - [resume](#resume) | 39 - [resume](#resume) |
| 41 - [setName](#setname) | 40 - [setName](#setname) |
| 42 - [streamCancel](#streamcancel) | 41 - [streamCancel](#streamcancel) |
| 43 - [streamListen](#streamlisten) | 42 - [streamListen](#streamlisten) |
| 44 - [Public Types](#public-types) | 43 - [Public Types](#public-types) |
| 45 - [Bool](#bool) | 44 - [Bool](#bool) |
| 46 - [BoundField](#boundfield) | 45 - [BoundField](#boundfield) |
| 47 - [BoundVariable](#boundvariable) | 46 - [BoundVariable](#boundvariable) |
| 48 - [Breakpoint](#breakpoint) | 47 - [Breakpoint](#breakpoint) |
| 49 - [Class](#class) | 48 - [Class](#class) |
| 50 - [ClassList](#classlist) | 49 - [ClassList](#classlist) |
| 51 - [Code](#code) | 50 - [Code](#code) |
| 52 - [CodeCoverage](#codecoverage) | |
| 53 - [CodeKind](#codekind) | 51 - [CodeKind](#codekind) |
| 54 - [Double](#double) | 52 - [Double](#double) |
| 55 - [Error](#error) | 53 - [Error](#error) |
| 56 - [Event](#event) | 54 - [Event](#event) |
| 57 - [EventType](#eventtype) | 55 - [EventType](#eventtype) |
| 58 - [Field](#field) | 56 - [Field](#field) |
| 59 - [Flag](#flag) | 57 - [Flag](#flag) |
| 60 - [FlagList](#flaglist) | 58 - [FlagList](#flaglist) |
| 61 - [FlagType](#flagtype) | 59 - [FlagType](#flagtype) |
| 62 - [Frame](#frame) | 60 - [Frame](#frame) |
| (...skipping 366 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 429 The _evaluateInFrame_ RPC is used to evaluate an expression in the context of | 427 The _evaluateInFrame_ RPC is used to evaluate an expression in the context of |
| 430 a particular stack frame. _frame_ is the index of the desired [Frame](#frame), | 428 a particular stack frame. _frame_ is the index of the desired [Frame](#frame), |
| 431 with an index of _0_ indicating the top (most recent) frame. | 429 with an index of _0_ indicating the top (most recent) frame. |
| 432 | 430 |
| 433 If an error occurs while evaluating the expression, an [@Error](#error) | 431 If an error occurs while evaluating the expression, an [@Error](#error) |
| 434 reference will be returned. | 432 reference will be returned. |
| 435 | 433 |
| 436 If the expression is evaluated successfully, an [@Instance](#instance) | 434 If the expression is evaluated successfully, an [@Instance](#instance) |
| 437 reference will be returned. | 435 reference will be returned. |
| 438 | 436 |
| 439 ### getCoverage | |
| 440 | |
| 441 ``` | |
| 442 CodeCoverage getCoverage(string isolateId, | |
| 443 string targetId) | |
| 444 ``` | |
| 445 | |
| 446 The _getCoverage_ RPC is used to retrieve current code coverage | |
| 447 information for some target. | |
| 448 | |
| 449 _targetId_ may refer to a [Script](#script), [Library](#library), | |
| 450 [Class](#class), or [Function](#function). | |
| 451 | |
| 452 See [Coverage](#coverage). | |
| 453 | |
| 454 ### getFlagList | 437 ### getFlagList |
| 455 | 438 |
| 456 ``` | 439 ``` |
| 457 FlagList getFlagList() | 440 FlagList getFlagList() |
| 458 ``` | 441 ``` |
| 459 | 442 |
| 460 The _getFlagList RPC returns a list of all command line flags in the | 443 The _getFlagList RPC returns a list of all command line flags in the |
| 461 VM along with their current values. | 444 VM along with their current values. |
| 462 | 445 |
| 463 See [FlagList](#flaglist). | 446 See [FlagList](#flaglist). |
| (...skipping 393 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 857 // A name for this code object. | 840 // A name for this code object. |
| 858 string name; | 841 string name; |
| 859 | 842 |
| 860 // What kind of code object is this? | 843 // What kind of code object is this? |
| 861 CodeKind kind; | 844 CodeKind kind; |
| 862 } | 845 } |
| 863 ``` | 846 ``` |
| 864 | 847 |
| 865 A _Code_ object represents compiled code in the Dart VM. | 848 A _Code_ object represents compiled code in the Dart VM. |
| 866 | 849 |
| 867 ### CodeCoverage | |
| 868 | |
| 869 TODO | |
| 870 | |
| 871 ### CodeKind | 850 ### CodeKind |
| 872 | 851 |
| 873 ``` | 852 ``` |
| 874 enum CodeKind { | 853 enum CodeKind { |
| 875 Dart, | 854 Dart, |
| 876 Native, | 855 Native, |
| 877 Stub, | 856 Stub, |
| 878 Tag, | 857 Tag, |
| 879 Collected | 858 Collected |
| 880 } | 859 } |
| (...skipping 869 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1750 // A list of isolates running in the VM. | 1729 // A list of isolates running in the VM. |
| 1751 @Isolate[] isolates | 1730 @Isolate[] isolates |
| 1752 } | 1731 } |
| 1753 ``` | 1732 ``` |
| 1754 | 1733 |
| 1755 ## Revision History | 1734 ## Revision History |
| 1756 | 1735 |
| 1757 version | comments | 1736 version | comments |
| 1758 ------- | -------- | 1737 ------- | -------- |
| 1759 0.0 | draft | 1738 0.0 | draft |
| OLD | NEW |