Commit Graph

136 Commits

Author SHA1 Message Date
Devon Carew 957961d7d3 Update the service protocol dev spec - some fields are now optional.
BUG=
R=johnmccutchan@google.com

Review-Url: https://codereview.chromium.org/2692923004 .
2017-02-15 06:48:16 -08:00
Devon Carew a90c2e9ed1 Service protocol updates for the recent async work.
BUG=
R=johnmccutchan@google.com

Review-Url: https://codereview.chromium.org/2683323004 .
2017-02-10 16:25:26 -08:00
John McCutchan f75d80317c Fix field name in ReloadReport
- The field is "success" not "status".

Fixes #28400

BUG=

Review-Url: https://codereview.chromium.org/2639603002 .
2017-01-17 07:12:24 -08:00
Andreas Kirsch e741a44734 fix ToC link to reloadSources (#28398) 2017-01-15 10:38:56 -08:00
John McCutchan de082ae041 Document the frameIndex parameter in the service protocol specification
BUG=
R=devoncarew@google.com

Review-Url: https://codereview.chromium.org/2624493003 .
2017-01-10 07:09:36 -08:00
John McCutchan 514b88c745 Use actual tab character in service.md
BUG=

Review-Url: https://codereview.chromium.org/2616933002 .
2017-01-05 07:18:05 -08:00
John McCutchan ebe7d148f3 Document some recent service protocol features
Document the `reloadSources` RPC.

Document the `PausePostRequest` pause event.

Document the 'IsolateReloaded' event.

BUG=
R=devoncarew@google.com

Review-Url: https://codereview.chromium.org/2614643003 .
2017-01-04 13:45:27 -08:00
John McCutchan 8061bd5a8a Add local variable declaration token position to service protocol
- [x] Add three public fields to the "BoundVariable" service type: declarationTokenPos, visibleStartTokenPos, and visibleEndTokenPos. (naming suggestions welcome!)
- [x] Extend LocalVarDescriptors to hold the declaration token position (it already had the scope visibility boundaries).
- [x] Extend ContextScope to hold the declaration token position.
- [x] Add a unit test which verifies this works for local variables, function parameters, and closure captured variables.

Fixes https://github.com/dart-lang/sdk/issues/25569

BUG=
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/2419013004 .
2016-10-17 11:18:24 -07:00
Carlo Bernaschina 1d0ec7b74c Always send typeClass field, if it is resolved
R=johnmccutchan@google.com, regis@google.com, rmacnak@google.com

Review URL: https://codereview.chromium.org/2223543002 .
2016-08-05 12:44:55 -07:00
Todd Turnidge 5e196ada5d VMMustBePaused -> IsolateMustBePaused
Closes #24537

R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/1973303003 .
2016-05-16 11:19:22 -07:00
Harry Terkelsen 1745ba77f5 fix all instances of "the the"
BUG=
R=sigmund@google.com

Review URL: https://codereview.chromium.org/1980573003 .
2016-05-13 12:38:25 -07:00
Todd Turnidge 60f7970d0b Clarify definition of token position.
Closes #26389

BUG=
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/1965423003 .
2016-05-11 10:49:36 -07:00
Todd Turnidge 956ac4c183 Fix getSourceReport's forceCompile option for unused classes.
BUG=
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/1916243002 .
2016-05-04 11:02:06 -07:00
Devon Carew 4771c85c95 Fix two nits in the service protocol spec.
BUG=
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/1895163004 .
2016-04-19 10:45:06 -07:00
John McCutchan 1c4f63df6c Print the isolate's sticky error if it has one.
- Bump protocol version to 3.4 to match service.md.
- Added note in changelog about 'none' pause event.
- Print the isolate's sticky error if it has one.

Fixes #26203

Review URL: https://codereview.chromium.org/1862903003 .
2016-04-07 15:31:50 -07:00
Todd Turnidge 22c37b9516 Improve class-tree, class-view, and instance-view.
class-tree
- Make all the rows have the same height.
- Hide synthetic mixin classes from the tree.
- Show mixin information in a different way.
- Show the total subclass count for each row if non-zero.

class-view
- Display supertype and mixin information

instance-view
- Display typeArguments, parameterizedClass, parameterIndex,
  targetType and bound information for Types.
- Display a source for Types.
- Provide an [eval] link for the runtimeType.

isolate-view
- Display the list of extension rpcs.

Update service.md.

R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/1807263004 .
2016-03-17 12:48:48 -07:00
John McCutchan 32abe2ce55 Stream blocks of timeline events over the service protocol. Can be used to monitor long running programs without buffering all events inside the VM.
- Rename TimelineEventStreamingRecorder to TimelineEventCallbackRecorder. Note that this should only be used for tests.

- Add 'Timeline' service event stream.
- Send a 'TimelineEvents' event on the 'Timeline' stream whenever a TimelineEventBlock is finished and the 'Timeline' stream is subscribed to.

- Simple service protocol test.

R=turnidge@google.com

Review URL: https://codereview.chromium.org/1765563002 .
2016-03-04 12:30:50 -08:00
John McCutchan 49dc7e557b Fix some service protocol isolate life cycle races that were discovered by the Flutter testing tool.
Fixes #25902

Issue #1

Assuming --pause-isolates-on-start, there is a window of time after an isolate is made runnable and before it pauses at the first message that we say the isolate is "resumed".

- Fix issue #1 by claiming the isolate is paused on start if it will eventually pause on start.
- Also, handle the resume command for this state by clearing the 'should pause on start' bit.

Issue #2

Before an isolate is made runnable we say the isolate is "resumed".

- Fix issue #2 by introducing a new pause event "None".

R=turnidge@google.com

Review URL: https://codereview.chromium.org/1756393002 .
2016-03-03 11:30:41 -08:00
John McCutchan b009231456 Add missing semicolons to service.md document
BUG=

Review URL: https://codereview.chromium.org/1708823002 .
2016-02-17 13:28:50 -08:00
John McCutchan 1ea1183f89 Mark extensionRPCs as optional
Fixes #25801

R=nweiz@google.com

Review URL: https://codereview.chromium.org/1710593002 .
2016-02-17 13:18:49 -08:00
John McCutchan 5c8d79c55a Add step OverAwait to service protocol
Additions to service protocol:

- PauseEvent includes an "atAsyncContinuation" boolean value.
- Resume command can take an 'OverAsyncContinuation' step mode.
- Breakpoints have an optional 'isSyntheticAsyncContinuation' boolean value.

Added low level step_over_await_test.

Issuing the OverAsyncContinuation resume command does the following:

- Adds a synthetic breakpoint (#1) to the async closure.
- Resumes the isolate.
- When we hit #1, the VM issues a StepOver and then reports us paused at #1.

At the next resume command, the VM will remove #1.

R=rmacnak@google.com

Review URL: https://codereview.chromium.org/1699153002 .
2016-02-17 11:02:55 -08:00
Devon Carew ef95541628 Tweak to the service protocol doc; move the location of an array type indicator.
BUG=
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/1684863003 .
2016-02-09 15:11:26 -08:00
John McCutchan 1e6c5f196b Add 'runnable' to Isolate service response
BUG=
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/1676233003 .
2016-02-08 10:14:17 -08:00
Todd Turnidge 222f6726d0 getObject now supports specifying offset,count for strings.
Closes #25157

R=rmacnak@google.com

Review URL: https://codereview.chromium.org/1653183002 .
2016-02-01 14:49:47 -08:00
John McCutchan ce650790a1 Return an error in many service RPCs if the isolate is not runnable
- Return kIsolateMustBeRunnable error when an isolate must be runnable for a service RPC to complete.

R=turnidge@google.com

Review URL: https://codereview.chromium.org/1645423002 .
2016-01-29 11:16:23 -08:00
Todd Turnidge bf385e448c Document the getSourceReport rpc in service.md. Bump version to 3.1.
BUG=
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/1641133004 .
2016-01-29 10:40:18 -08:00
Devon Carew 3f459fda28 Fix a typo in the service protocol file.
BUG=
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/1534483005 .
2015-12-17 11:38:25 -08:00
John McCutchan 89c49b9e87 Add dart:developer.postEvent for posting events to the service protocol from Dart code
- Add dart:developer.postEvent for posting events to the service protocol.
- Add 'Extension' service protocol event stream.
- Unit test.
- Update service.md

- Bug fix for logging stream.

R=turnidge@google.com

Review URL: https://codereview.chromium.org/1537523002 .
2015-12-17 09:34:52 -08:00
John McCutchan f3ee772308 Provide list of service protocol extensions in isolate and emit an event when one is registered.
- Doc improvements.
- Type annotation improvements.
- Isolate includes list of currently registered extensions.
- New event kind on isolate stream emitted whenever an extension is registered (IsolateServiceExtensionRegistered).

Fixes https://dartbug.com/25208
Fixes https://dartbug.com/25257

R=turnidge@google.com

Review URL: https://codereview.chromium.org/1527793004 .
2015-12-16 13:49:37 -08:00
Ryan Macnak c0a0c92a5e Document the Inspect event in the service protocol.
BUG=http://dartbug.com/24998
R=turnidge@google.com

Review URL: https://codereview.chromium.org/1465673002 .
2015-11-23 16:56:08 -08:00
John McCutchan d7de5ca71f Add exceptionPauseMode to Isolate response in service.md
BUG=
R=turnidge@google.com

Review URL: https://codereview.chromium.org/1408933004 .
2015-10-16 12:26:19 -07:00
Devon Carew ea89380185 Fix some service protocol typos.
BUG=
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/1406913003 .
2015-10-15 09:53:28 -07:00
Todd Turnidge cc672473b9 Use offset and count to request slices of lists, maps, and typed_data.
This should allow debugging clients to support pagination of these
potentially large types.

Closes #24536

R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/1400393002 .
2015-10-14 11:05:21 -07:00
Natalie Weizenbaum be692b5c9f A couple small fixes to service.md.
This adds VMUpdate to the EventKind enum and fixes a formatting issue
with the table of contents.

R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/1407583002 .
2015-10-13 13:16:25 -07:00
John McCutchan 9dd7680fd8 Straw man setExceptionPauseMode
BUG=
R=turnidge@google.com

Review URL: https://codereview.chromium.org/1399743002 .
2015-10-12 11:04:44 -07:00
John McCutchan ecb2c0b9f2 Fix two bugs in the serivce protocol specification
- Add a @VM definition.
- Correct the type of the elements field in an Instance.

R=turnidge@google.com

Review URL: https://codereview.chromium.org/1396603004 .
2015-10-12 11:03:47 -07:00
Todd Turnidge 435bcdbe6c We can now name the current VM using the service protocol.
Adds a 'VM' stream and a 'VMUpdate' event.

Makes Event.isolate optional in service.md.

BUG=
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/1398823002 .
2015-10-08 15:37:49 -07:00
Todd Turnidge 3238cdbabb Merge pull request #24481 from dart-lang/update-instance-fields-in-spec
Update Instance fields return type in service.md
2015-10-08 12:29:14 -07:00
John McCutchan af0ab36f7c Make dart:_vmservice a proper builtin library
- Drops custom resource table for sources.
- Stops loading dart:vmservice library by sources.

R=rmacnak@google.com

Review URL: https://codereview.chromium.org/1387043002 .
2015-10-06 07:58:14 -07:00
Dan Rubel e2588a72d9 Update service.md 2015-10-01 15:53:30 -04:00
John McCutchan fd6135927e Ensure that service protocol specification and implementation use the correct numeric types
Fixes #24245

R=turnidge@google.com

Review URL: https://codereview.chromium.org/1387433002 .
2015-10-01 11:05:13 -07:00
Todd Turnidge 473413753d Some changes to service protocol before we land 1.13.
- Split AddBreakpoint into two rpcs: AddBreakpoint and
  AddBreakpointWithScriptUri.

- Remove Isolate.entry.

Closes #24329

R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org//1379163002 .
2015-10-01 10:46:44 -07:00
Todd Turnidge 66f9abc7e3 Refactor isolate interrupts to use OOB messages instead of interrupt bits.
Closes #24349

R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org//1344993002 .
2015-09-23 12:13:25 -07:00
Todd Turnidge b956f981e5 getIsolate rpc now returns collected sentinel for expired isolate.
Closes #24353

R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org//1347693004 .
2015-09-16 10:10:16 -07:00
John McCutchan ae57de89d1 Force disconnect all service clients when VM is shutting down
BUG=https://github.com/dart-lang/sdk/issues/24352
R=turnidge@google.com

Review URL: https://codereview.chromium.org//1338753004 .
2015-09-15 12:47:28 -07:00
Todd Turnidge b0ca0789be Fix a variety of service protocol bugs.
Add documentation for breakpoint.

Fix Instance.pattern documentation.

Fix Instance.bytes documentation.

Add class field for null instances.

Fix documentation of Context and closureContext.

Make getObject return Collected for deleted breakpoints.

Closes #24247
Closes #24249
Closes #24309
Closes #24325
Closes #24326
Closes #24327

BUG=
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org//1341473002 .
2015-09-11 12:29:21 -07:00
John McCutchan fdf79d85a2 Add LookupHeapObjectMessage and hook into LookupHeapObject
- This makes isolate messages behave like other instances over the service protocol.

R=turnidge@google.com

Review URL: https://codereview.chromium.org//1339713002 .
2015-09-11 10:22:40 -07:00
Todd Turnidge dee6ddf966 Support column-based breakpoints in the VM and Observatory.
BUG=
R=hausner@google.com, rmacnak@google.com

Review URL: https://codereview.chromium.org//1312763010 .
2015-09-09 09:01:13 -07:00
Todd Turnidge 7ac3150ee3 Improve display of simd vector types and stack traces in Observatory.
Associated protocol changes.

BUG=
R=rmacnak@google.com

Review URL: https://codereview.chromium.org//1316123004 .
2015-08-31 10:35:01 -07:00
John McCutchan d0882dd363 Remember when an isolate was paused and subtly display it in Obseravatory
- Display paused time as tooltip over "paused" word.
- Send a timestamp with every ServiceEvent.
- Unit tests verifying that paused on start, exit, and breakpoint timestamps are stable.
- Remember the pause time in DebuggerEvent.
- Remember the pause time in MessageHandler.
- Updated service protocol documentation.

R=turnidge@google.com

Review URL: https://codereview.chromium.org//1311503004 .
2015-08-26 10:57:59 -07:00