VmServiceInterface class abstract

A class representation of the Dart VM Service Protocol.

Both clients and servers should implement this interface.

Implementers

Constructors

VmServiceInterface()

Properties

hashCode int
The hash code for this object.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

addBreakpoint(String isolateId, String scriptId, int line, {int? column}) Future<Breakpoint>
The addBreakpoint RPC is used to add a breakpoint at a specific line of some script.
addBreakpointAtEntry(String isolateId, String functionId) Future<Breakpoint>
The addBreakpointAtEntry RPC is used to add a breakpoint at the entrypoint of some function.
addBreakpointWithScriptUri(String isolateId, String scriptUri, int line, {int? column}) Future<Breakpoint>
The addBreakpoint RPC is used to add a breakpoint at a specific line of some script. This RPC is useful when a script has not yet been assigned an id, for example, if a script is in a deferred library which has not yet been loaded.
callServiceExtension(String method, {String? isolateId, Map<String, dynamic>? args}) Future<Response>
Handler for calling extra service extensions.
clearCpuSamples(String isolateId) Future<Success>
Clears all CPU profiling samples.
clearVMTimeline() Future<Success>
Clears all VM timeline events.
evaluate(String isolateId, String targetId, String expression, {Map<String, String>? scope, bool? disableBreakpoints}) Future<Response>
The evaluate RPC is used to evaluate an expression in the context of some target.
evaluateInFrame(String isolateId, int frameIndex, String expression, {Map<String, String>? scope, bool? disableBreakpoints}) Future<Response>
The evaluateInFrame RPC is used to evaluate an expression in the context of a particular stack frame. frameIndex is the index of the desired Frame, with an index of 0 indicating the top (most recent) frame.
getAllocationProfile(String isolateId, {bool? reset, bool? gc}) Future<AllocationProfile>
The getAllocationProfile RPC is used to retrieve allocation information for a given isolate.
getAllocationTraces(String isolateId, {int? timeOriginMicros, int? timeExtentMicros, String? classId}) Future<CpuSamples>
The getAllocationTraces RPC allows for the retrieval of allocation traces for objects of a specific set of types (see setTraceClassAllocation). Only samples collected in the time range [timeOriginMicros, timeOriginMicros + timeExtentMicros] will be reported.
getClassList(String isolateId) Future<ClassList>
The getClassList RPC is used to retrieve a ClassList containing all classes for an isolate based on the isolate's isolateId.
getCpuSamples(String isolateId, int timeOriginMicros, int timeExtentMicros) Future<CpuSamples>
The getCpuSamples RPC is used to retrieve samples collected by the CPU profiler. Only samples collected in the time range [timeOriginMicros, timeOriginMicros + timeExtentMicros] will be reported.
getFlagList() Future<FlagList>
The getFlagList RPC returns a list of all command line flags in the VM along with their current values.
getInboundReferences(String isolateId, String targetId, int limit) Future<InboundReferences>
Returns a set of inbound references to the object specified by targetId. Up to limit references will be returned.
getInstances(String isolateId, String objectId, int limit, {bool? includeSubclasses, bool? includeImplementers}) Future<InstanceSet>
The getInstances RPC is used to retrieve a set of instances which are of a specific class.
getIsolate(String isolateId) Future<Isolate>
The getIsolate RPC is used to lookup an Isolate object by its id.
getIsolateGroup(String isolateGroupId) Future<IsolateGroup>
The getIsolateGroup RPC is used to lookup an IsolateGroup object by its id.
getIsolateGroupMemoryUsage(String isolateGroupId) Future<MemoryUsage>
The getIsolateGroupMemoryUsage RPC is used to lookup an isolate group's memory usage statistics by its id.
getMemoryUsage(String isolateId) Future<MemoryUsage>
The getMemoryUsage RPC is used to lookup an isolate's memory usage statistics by its id.
getObject(String isolateId, String objectId, {int? offset, int? count}) Future<Obj>
The getObject RPC is used to lookup an object from some isolate by its id.
getPorts(String isolateId) Future<PortList>
The getPorts RPC is used to retrieve the list of ReceivePort instances for a given isolate.
getProcessMemoryUsage() Future<ProcessMemoryUsage>
Returns a description of major uses of memory known to the VM.
getRetainingPath(String isolateId, String targetId, int limit) Future<RetainingPath>
The getRetainingPath RPC is used to lookup a path from an object specified by targetId to a GC root (i.e., the object which is preventing this object from being garbage collected).
getScripts(String isolateId) Future<ScriptList>
The getScripts RPC is used to retrieve a ScriptList containing all scripts for an isolate based on the isolate's isolateId.
getSourceReport(String isolateId, List<String> reports, {String? scriptId, int? tokenPos, int? endTokenPos, bool? forceCompile, bool? reportLines, List<String>? libraryFilters}) Future<SourceReport>
The getSourceReport RPC is used to generate a set of reports tied to source locations in an isolate.
getStack(String isolateId, {int? limit}) Future<Stack>
The getStack RPC is used to retrieve the current execution stack and message queue for an isolate. The isolate does not need to be paused.
getSupportedProtocols() Future<ProtocolList>
The getSupportedProtocols RPC is used to determine which protocols are supported by the current server.
getVersion() Future<Version>
The getVersion RPC is used to determine what version of the Service Protocol is served by a VM.
getVM() Future<VM>
The getVM RPC returns global information about a Dart virtual machine.
getVMTimeline({int? timeOriginMicros, int? timeExtentMicros}) Future<Timeline>
The getVMTimeline RPC is used to retrieve an object which contains VM timeline events.
getVMTimelineFlags() Future<TimelineFlags>
The getVMTimelineFlags RPC returns information about the current VM timeline configuration.
getVMTimelineMicros() Future<Timestamp>
The getVMTimelineMicros RPC returns the current time stamp from the clock used by the timeline, similar to Timeline.now in dart:developer and Dart_TimelineGetMicros in the VM embedding API.
invoke(String isolateId, String targetId, String selector, List<String> argumentIds, {bool? disableBreakpoints}) Future<Response>
The invoke RPC is used to perform regular method invocation on some receiver, as if by dart:mirror's ObjectMirror.invoke. Note this does not provide a way to perform getter, setter or constructor invocation.
kill(String isolateId) Future<Success>
The kill RPC is used to kill an isolate as if by dart:isolate's Isolate.kill(IMMEDIATE).
lookupPackageUris(String isolateId, List<String> uris) Future<UriList>
The lookupPackageUris RPC is used to convert a list of URIs to their unresolved paths. For example, URIs passed to this RPC are mapped in the following ways:
lookupResolvedPackageUris(String isolateId, List<String> uris, {bool? local}) Future<UriList>
The lookupResolvedPackageUris RPC is used to convert a list of URIs to their resolved (or absolute) paths. For example, URIs passed to this RPC are mapped in the following ways:
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
onEvent(String streamId) Stream<Event>
Returns the stream for a given stream id.
pause(String isolateId) Future<Success>
The pause RPC is used to interrupt a running isolate. The RPC enqueues the interrupt request and potentially returns before the isolate is paused.
registerService(String service, String alias) Future<Success>
Registers a service that can be invoked by other VM service clients, where service is the name of the service to advertise and alias is an alternative name for the registered service.
reloadSources(String isolateId, {bool? force, bool? pause, String? rootLibUri, String? packagesUri}) Future<ReloadReport>
The reloadSources RPC is used to perform a hot reload of an Isolate's sources.
removeBreakpoint(String isolateId, String breakpointId) Future<Success>
The removeBreakpoint RPC is used to remove a breakpoint by its id.
requestHeapSnapshot(String isolateId) Future<Success>
Requests a dump of the Dart heap of the given isolate.
resume(String isolateId, {String? step, int? frameIndex}) Future<Success>
The resume RPC is used to resume execution of a paused isolate.
setBreakpointState(String isolateId, String breakpointId, bool enable) Future<Breakpoint>
The setBreakpointState RPC allows for breakpoints to be enabled or disabled, without requiring for the breakpoint to be completely removed.
setExceptionPauseMode(String isolateId, String mode) Future<Success>
The setExceptionPauseMode RPC is used to control if an isolate pauses when an exception is thrown.
setFlag(String name, String value) Future<Response>
The setFlag RPC is used to set a VM flag at runtime. Returns an error if the named flag does not exist, the flag may not be set at runtime, or the value is of the wrong type for the flag.
setIsolatePauseMode(String isolateId, {String? exceptionPauseMode, bool? shouldPauseOnExit}) Future<Success>
The setIsolatePauseMode RPC is used to control if or when an isolate will pause due to a change in execution state.
setLibraryDebuggable(String isolateId, String libraryId, bool isDebuggable) Future<Success>
The setLibraryDebuggable RPC is used to enable or disable whether breakpoints and stepping work for a given library.
setName(String isolateId, String name) Future<Success>
The setName RPC is used to change the debugging name for an isolate.
setTraceClassAllocation(String isolateId, String classId, bool enable) Future<Success>
The setTraceClassAllocation RPC allows for enabling or disabling allocation tracing for a specific type of object. Allocation traces can be retrieved with the getAllocationTraces RPC.
setVMName(String name) Future<Success>
The setVMName RPC is used to change the debugging name for the vm.
setVMTimelineFlags(List<String> recordedStreams) Future<Success>
The setVMTimelineFlags RPC is used to set which timeline streams are enabled.
streamCancel(String streamId) Future<Success>
The streamCancel RPC cancels a stream subscription in the VM.
streamCpuSamplesWithUserTag(List<String> userTags) Future<Success>
The streamCpuSamplesWithUserTag RPC allows for clients to specify which CPU samples collected by the profiler should be sent over the Profiler stream. When called, the VM will stream CpuSamples events containing CpuSample's collected while a user tag contained in userTags was active.
streamListen(String streamId) Future<Success>
The streamListen RPC subscribes to a stream in the VM. Once subscribed, the client will begin receiving events from the stream.
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited