Commit Graph

713 Commits

Author SHA1 Message Date
johnmccutchan@google.com c670979533 - Fully load both Dart and Stub code kinds
- Ouptut "_optimized" field for fake code objects.

R=srdjan@google.com

Review URL: https://codereview.chromium.org//1105273002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45433 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-27 22:00:18 +00:00
rmacnak@google.com 0184cf0eca Add links to Observatory documentation and bug tracking.
BUG=http://dartbug.com/23224
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org//1063063006

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45428 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-27 17:25:33 +00:00
johnmccutchan@google.com e23be8563a Fixes to enable building dart:io implementation cleanly in mojo tree
+ make Observatory respect script line offsets (which Sky uses).

R=iposva@google.com

Review URL: https://codereview.chromium.org//1101083003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45427 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-27 14:46:32 +00:00
rmacnak@google.com 9b245afa1e Fix showing values of instance fields.
BUG=
R=turnidge@google.com

Review URL: https://codereview.chromium.org//1102993002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45411 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-24 20:13:42 +00:00
johnmccutchan@google.com 583f48a132 Add crash dumps to service protocol and Observatory
- Add _getCrashDump RPC
- crash dump service response is map of request uris to responses, includes:
  -- getVM
  -- getFlagList
  -- for each isolate:
      -- getIsolate
      -- _getAllocationProfile
      -- getStack
- Add FakeVM to service library
- Add load crash dump to Observatory connect page
- Removes old chromium target support from connect page
- Make debugger page display stack even if libraries can't be loaded
- Fix reload of vm-connect page
- Fix polymer initialization calls

R=turnidge@google.com

Review URL: https://codereview.chromium.org//1100583006

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45390 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-24 00:08:07 +00:00
turnidge@google.com d9f65329c3 Do not JSON encode the 'result' of a service rpc.
Before a response looked like this...

{ result:<string> id:* }

...where result was always a json encoded string.  This meant that
users of the service protocol had to json decode both the outer
message and the result, which was silly.

Now a response looks like this:

{ result:<map> id:* }

This means that users of the service protocol only need to decode once.

We have changed event formats as well.  Previously, an event looked like this:

{ result:<string> }

(Essentially a result without an id.)  The result was json encoded,
requiring the user to double-decode.

Now an event looks like this:

{ event:<map> }

This allows us to distinguish events from rpc results and avoids
double-decoding.  It also avoids having an id-less rpc result mistaken
for an event.

------------

Some details and associated changes:

- Unify GCEvent and ServiceEvent in the VM.

- Move sequence number handling out of dart code and into JSONStream
  in the VM.  Plumbing.  I needed to do this to avoid double-encoding.
  Some of the dart code gets a bit simpler.

- Update C++ tests to have a sequence number.

- Change format of method/params used in Error responses to be more json-y.

- Strip out double decoding in the service lib.

- Improvements to tests.  I was running into some races and other issues.

- Fail fast when we run into a message decoding problem.  Instead of
  returning a service exception, we now disconnect from the vm.

- VMDisconnected => ConnectionClosed.

- Add some support for a reason string when disconnecting from the vm
  in the service library.

Review URL: https://codereview.chromium.org//1093043004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45378 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-23 17:55:08 +00:00
rmacnak@google.com 948e638dd8 Fix script-view. Hide annotations except the current position when debugging.
Review URL: https://codereview.chromium.org//1079163009

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45364 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-22 20:49:33 +00:00
johnmccutchan@google.com 73fe0259ff CPU profile displayed in three tables with a tree
Table #1:
All functions sortable on inclusive or exclusive.

Table #2:
Callers of focused function.

Table #3:
Callees of focused function.

Tree:
Inclusive or Exclusive rooted profile tree filtered by focused function.

Also includes:

- Kill LinkLocationManager.
- Merge HashLocationManager into LocationManager.
- Kill nav-control element.
- Add goParameter to navigate based on page parameters (e.g. ?isolateId=...).

R=turnidge@google.com

Review URL: https://codereview.chromium.org//1013563002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45348 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-22 14:05:20 +00:00
rmacnak@google.com 529993214f Fix missing annotations in script inset when first annotation is outside the subset of lines being displayed.
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org//1057793003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45326 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-22 00:42:55 +00:00
turnidge@google.com ca5de9eac9 Kill service_test.cc tests in favor of dart tests for the service protocol.
Associated cleanups and fixes that I noticed as I rewrote the tests.

Review URL: https://codereview.chromium.org//1090293003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45257 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-17 21:08:02 +00:00
johnmccutchan@google.com 900f88389c Set version back to 111
BUG=

Review URL: https://codereview.chromium.org//1091373002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45255 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-17 20:35:43 +00:00
johnmccutchan@google.com 75ac0ef5e8 Analytics version for 1.10
TBR=iposva

Review URL: https://codereview.chromium.org//1096613006

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45254 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-17 20:31:50 +00:00
rmacnak@google.com 899490d306 Add annotation for function declarations. Mark functions with performance problems in red.
Reduce the saturation of the coverage markers.

Creating service-refs is horribly expensive: build the details for call sites and function declarations lazily.

Report is_inlinable instead of CanBeInlined because the latter depends whether the function currently has code or breakpoints.

Review URL: https://codereview.chromium.org//1087833005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45217 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-16 19:06:35 +00:00
johnmccutchan@google.com 138828554a Add page view analytics to Observatory
BUG=
R=sethladd@google.com

Review URL: https://codereview.chromium.org//1087393002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45215 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-16 16:36:27 +00:00
turnidge@google.com 0edd5aae1e Some cleanups in the code that posts results to service clients.
- Remove the notion of event families and masks.  This wasn't really used.

- Change "response" to "result" in our response map to be more json-rpc-like.

- Pass events to the service isolate as Strings.

- Add more type declarations around raw data (Uint8List) responses.

BUG=
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org//1077823003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45034 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-09 21:08:38 +00:00
turnidge@google.com 6f519e9d96 Fix all Observatory warnings/errors.
BUG=
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org//1076003004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45032 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-09 20:30:59 +00:00
koda@google.com ea5a3de93d Fix auto-refresh in Heap profile.
To avoid lag when the profile page cannot keep up with the GC events,
keep at most one outstanding auto-refresh request (but make sure to refresh
up to and including the latest GC).

R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org//1065303003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45015 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-09 16:01:39 +00:00
turnidge@google.com fb591fc36a Continue improving the documentation for the vm service protocol.
Clean up the protocol a bit as I go.

---

Addendum:

Clean up inconsistencies between field and function ownership in the protocol.

Change the names of implicit closure functions (!)

Review URL: https://codereview.chromium.org//1057333004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44923 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-06 19:24:47 +00:00
rmacnak@google.com 7b24669458 Display multiline strings as multiline in Observatory's inspector.
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org//1062593002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44892 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-03 21:30:50 +00:00
turnidge@google.com 52538c5315 Tidy up the service protocol. Begin improving the documentation.
BUG=

Review URL: https://codereview.chromium.org//1053053002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44865 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-02 19:16:35 +00:00
rmacnak@google.com 61639129a7 Call site data UI tweaks.
- Make calls have the same cursor as links.
 - Highlight a call site when its data it visible.
 - Don't display the table header when a call site has no data.

R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org//1039863002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44840 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-01 19:43:36 +00:00
turnidge@google.com d6561a3667 Fix some Observatory issues that crept in with my last couple changes.
- need ObservatoryApplication class in ObservatoryDebugger
- mainPort is gone now

BUG=
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org//1043953002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44818 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-31 19:33:38 +00:00
turnidge@google.com 140a071acb Allow Observatory debugger to switch isolates.
- Add the "isolate" command which allows the user to switch isolate by name or number.  Supports completion.

- Add the "isolate name" command which allows the user to rename an isolate.  Add the "setName" method to the service protocol to support this.  Isolates now have a debugger_name() in the vm.

- The new IsolateUpdate event notifies the client when an isolate name changes.

- When an isolate is updated, update the page's isolate too, so the navbar is accurate.

- Update isolate summary to display isolate number.

- Rework how the isolate's name is computed because we were getting garbagey names in the IsolateStart event (SpawnState was not yet set).

- Make sure that the debugger doesn't subscribe to events multiple times.

- "info isolates" is now "isolate list".

- Rework reporting of vm and isolate startTime in the service protocol and in Observatory.

- Fix bug in command completion when subcommands and other completions share common prefixes.

- Rework isolate accounting in the VM object in Observatory.  We now create Isolates in getFromMap rather than from IsolateStart events, per se.  Rewrite the isolate updating code.

- IsolateStart and IsolateExit events are now owned by the Isolate itself, rather than the vm.

- Return the actual result in pause/resume/etc.

- Add assertion in JSONStream::PrintProperty64 that the result fits in a javascript double.  Sigh.

- Stop sending GC events for the service isolate.  Add assertions to guard against this happening in the future.

- Misc improvements in error reporting.

Review URL: https://codereview.chromium.org//1007863003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44718 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-26 19:06:18 +00:00
johnmccutchan@google.com 942d654d31 Disable allocation page auto refresh on GC
BUG=

Review URL: https://codereview.chromium.org//1011533004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44669 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-24 15:39:43 +00:00
johnmccutchan@google.com 867b56f066 Fix reuse of <ref> elements
BUG=
R=iposva@google.com

Review URL: https://codereview.chromium.org//1034503002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44668 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-24 15:10:49 +00:00
rmacnak@google.com 3b8bed46a8 Display ICData entries at call sites, with links to the targets and guarded classes. Implement service response for call site data for the same targets as coverage. Fix JSONifying ICData for super calls.
BUG=

Review URL: https://codereview.chromium.org//1000933004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44564 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-18 20:28:26 +00:00
johnmccutchan@google.com 8f2f5fa3bf Profiler fixes for 1.9
- Make the first level of a non-VM tree % consistent with self %
- Always tick the [Truncated] tag for inclusive trees.
- Don't show call tree direction drop down at all.
- Additional tracing.

Review URL: https://codereview.chromium.org//1014473006

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44525 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-16 22:21:12 +00:00
rmacnak@google.com e1bbc90322 Display call site data for functions.
- Requested with coverage data, only in function view for now.
 - Adjust token position associated with ICData to correspond to the identifier instead of the open paren.
 - Fix JSONifying ICs for static/constructor calls.

R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org//977283002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44476 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-13 20:44:41 +00:00
turnidge@google.com 1989cc3ac8 Yesterday's deadlock fix was wrong. It could drop notifications.
BUG=
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org//995883002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44382 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-10 18:15:37 +00:00
turnidge@google.com 1f851c718c Implement 'print', 'up', 'down', and 'frame' commands in the Observatory debugger.
Implement in-frame evaluation in the vm service.

Add a notion of 'current frame' and use it across the debugger,
particularly in source-location based commands (break, clear).

Change the expansion logic for frames, so that by default only the
current frame is shown.  When a user expands a frame it is now pinned.

Change command line parsing so that internal whitespace is preserved.  We need this to properly evaluate expressions with internal whitespace.

Fix a deadlock in the debugger message loop.

R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org//993613002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44353 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-10 00:07:45 +00:00
turnidge@google.com 6897391cd5 Allow command aliases in Observatory debugger.
This will let us use 'c' for continue even though it is ambiguous.

Add aliases to the 'help' output.

BUG=
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org//984683002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44269 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-05 19:43:40 +00:00
turnidge@google.com f9f2d9c017 Major rework of vm service events
--------
VM

Add a new ServiceEvent class in the vm.  Rework the event type names.

Add BreakpointAdded, BreakpointResolved, and BreakpointRemoved
service events.

Record the top frame for kIsolateInterrupted and kExceptionThrown
debugger events.

Send a top frame in more Pause* events.

Send breakpoint list with the Isolate response.  Remove the
getBreakpoints method from the vm service.

Move Resume events into debugger.cc.

Rework MessageHandler a bit so that we can send PauseStart and
PauseExit notifications.

--------
Observatory

Move some event handler from Application to Isolate.

Rewrite breakpoint tracking code to use the new breakpoint events.

Change run state tracking in Isolate.

Change getFromMap so that it applies updates if the map isn't a ref.

Use getFromMap instead of new ServiceObject in invokeRpc.  This
fixes some duplicate ServiceObject problems.

Review URL: https://codereview.chromium.org//979823003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44268 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-05 19:02:42 +00:00
rmacnak@google.com 8612ffdd4e Restore highlighting for current position.
R=turnidge@google.com

Review URL: https://codereview.chromium.org//974153002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44214 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-04 01:18:42 +00:00
johnmccutchan@google.com b69bab6a6f Fix memory leak in CPU Profile page
- Programmatically clear all onClick listeners.
- Use an iterative call tree loader.
- Load call trees on demand.
- When a sample was filled before exhausting the call stack, mark that the sample's call stack is truncated.
- Insert '[Truncated]' tag nodes into call trees.

R=rmacnak@google.com

Review URL: https://codereview.chromium.org//973553005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44190 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-03 19:00:20 +00:00
johnmccutchan@google.com 78ad7f347b Improved profiler view and inclusive profile tree
TableTree improvements:
- Row's have flex-box divs in each table cell.
- To represent depth in tree a colored vertical bar for each depth level is shown
- Expanding tree nodes is now asynchronous and animates.
- Change cursor during tree expansion.

Observatory Profiler improvements:
- Improved appearance.
- Support for inclusive (main first) call trees.
- Replace tooltip hover with info toggle.
- Visual icon attributes for code, functions and call tree nodes.
- Fetching / Load status display.
- Cleaned up Code and Function kinds.

Profiler improvements:
- When not profiling the VM (--profile-vm) only walk the stack when we are in Dart code or have exited Dart code. This removes some native stack walker noise.
- Build inclusive (main first) call trees and send across service.

Notes for analyzer team:

Analyzer command line:

./out/ReleaseIA32/dart --keep-code --trace-profiler --profile-depth=128 --observe out/ReleaseIA32/dart-sdk/bin/snapshots/dartanalyzer.dart.snapshot --dart-sdk=out/ReleaseIA32/dart-sdk pkg/compiler/lib/src/dart2js.dart

Profiler settings:

- Tags: None or VM
- Mode: Function
- Direction: Bottom up

R=asiva@google.com, rmacnak@google.com

Review URL: https://codereview.chromium.org//965593002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44152 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-02 23:01:43 +00:00
rmacnak@google.com e50afbe963 Build script views programmatically.
Preparation for displaying source annotations attached to locations more specific than a line number.

R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org//959043003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44140 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-02 19:19:51 +00:00
johnmccutchan@google.com 3e8a273f83 Make getIsolate ensure that the VM has been loaded before checking for the isolate
Fixes 'reload' development workflow.

R=rmacnak@google.com

Review URL: https://codereview.chromium.org//964703002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44093 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-27 14:31:35 +00:00
johnmccutchan@google.com f2333f63a5 Add Function based profile tree
Profiler improvements:
- Track Functions in profile and build Function based trie
- Associate code objects with functions
- Created cpu_profile.dart library
- Major speed improvements for disassembly view
- Fix truncation of disassembly comments
- Ability to get code object ticks from disassembly view
- Inlining mini-map in disassembly view.
- Remove a bunch of unused data from profile service response
- In some cases a caller PC that is better than the PC marker is inserted into the stack trace
- Inlined functions are expanded
- Ability to clear profile
- New flag '--keep_code' which keeps deoptimized code around for use by the profiler.

General fixes:
- Fix caching in service library
- Remove pubspec.yaml before running pub get

R=asiva@google.com, rmacnak@google.com

Review URL: https://codereview.chromium.org//928833003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44067 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-26 18:48:55 +00:00
johnmccutchan@google.com cadc1a495b Fix isolate lifecycle handling in service library
- Use IsolateCreated and IsolateShutdown events to edit the VM's isolate cache directly.
- IsolateCreated and IsolateShutdown events are owned by the VM.
- When eagerly loading a new isolate, consume any errors rather than letting them bubble up to the application level.
- When reloading the VM perform an edit the isolate cache instead of replacing it.
- When reloading the VM do not reload all isolates.
- Fix flaky coverage_test fail by delaying setting the breakpoint.
- Add isolate lifecycle unit test.
- Make the isolate cache observable and send an observable notification that the 'isolates' property has changed when editing the isolate cache.

R=rmacnak@google.com

Review URL: https://codereview.chromium.org//961483002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44056 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-26 17:00:50 +00:00
turnidge@google.com 6cf5792469 Add command line history to Observatory debugger.
BUG=
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org//928543003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43785 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-13 23:36:27 +00:00
turnidge@google.com ace003886c Implement function entry breakpoints in Observatory debugger.
BUG=

Review URL: https://codereview.chromium.org//920313003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43782 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-13 22:37:39 +00:00
turnidge@google.com b4dc1dbd66 Add Breakpoint class to Observatory.
BUG=
R=rmacnak@google.com

Review URL: https://codereview.chromium.org//926103002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43776 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-13 19:19:32 +00:00
turnidge@google.com 62a169114c Implement 'help' command for Observatory debugger.
Supports tab-completion.

BUG=
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org//921893004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43749 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-13 05:15:00 +00:00
turnidge@google.com 596413dc93 Add 'break' and 'clear' commands to Observatory debugger.
break adds a breakpoint, clear removes it.

Formats:
  break                   - break at current position
  break 13                - break at line 13, current script
  break	13:20 	          - break at line 13, col 20, current script
  break	script.dart:13    - break at line 13, script.dart
  break	script.dart:13:20 - break at line 13, col 20, script.dart
  break	main              - break at function
  break	FormatException   - break at constructor
  break	_SHA1._updateHash - break at method

clear supports the same location specifiers.

TAB completion works for all of these formats.

The protocol does not yet support setting column-specific or
function/constructor/method breakpoints.  For now we just support
parsing these formats.

Review URL: https://codereview.chromium.org//918003002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43733 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-12 18:49:06 +00:00
turnidge@google.com e1f31e1513 Add a working command line debugger to Observatory.
Try it!

Review URL: https://codereview.chromium.org//866663003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43618 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-09 22:03:31 +00:00
turnidge@google.com 8ebad12515 Fix dart warnings.
BUG=
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org//899303002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43515 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-05 18:21:23 +00:00
turnidge@google.com d554f4fbfe Finish moving service protocol to json rpc.
Service

- Remove support for old-style service requests.

- Drop 'arguments' from JsonStream and ServiceRequestHandler.

- Json-rpc inspired renaming: command->method, options->params all over.

- Implement getFlagList, setFlag, getObjectByAddress.

- Add helpers PrintMissingParamError and PrintInvalidParamError
  to make our error messages more regular.

- Update tests.

- Service_SetSource removed for now.  John will resurrect.

Observatory

- Drop all Deprecated 'get' functions.  We now use json rpc for everything.

- Drop 'link' and 'relativeLink' from ServiceObject -- they were
  ui-specific and they are no longer meaningful anyways.  Use 'id' instead.

- New pages: VMPage, FlagsPage, InspectPage, ErrorPage.  All urls
  used by Observatory are now 'new school' and have a proper
  prefix.  ErrorPage is the new catch-all.

- Pages now use a Uri instead of a url String.  This lets them
  grab query parameters more easily.

- SimplePage replaces IsolateSuffixPage.

- We now use gotoLink() or makeLink() to make our navigation
  links.  gotoLink gets some optional parameters to make it
  easier to construct links to ServiceObjects.

- Rework mouse clicks on the heap map to use getObjectByAddress.

- Remove the breakpoint_list.  It wasn't working.  I'll add it back later.

- Silence logging of getIsolateMetric/getVMMetric.

R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org//897193002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43514 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-05 17:45:52 +00:00
johnmccutchan@google.com 1426cfc03b Port metrics to RPC
R=turnidge@google.com

Review URL: https://codereview.chromium.org//886353006

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43486 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-04 21:27:49 +00:00
johnmccutchan@google.com d9e951d5a3 Port _echo, etc commands to RPC
BUG=
R=turnidge@google.com

Review URL: https://codereview.chromium.org//869773007

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43447 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-03 23:17:05 +00:00
turnidge@google.com 91afcbdfc9 Rename the get* methods in preparation for removing them.
Add proper caching to getObject, etc.

R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org//892913003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43431 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-03 21:47:39 +00:00