28#if !defined(PRODUCT) && !defined(DART_PRECOMPILED_RUNTIME)
30 Debugger* debugger = isolate->debugger();
31 if (debugger ==
nullptr) {
46 return inspectee.ptr();
63 dart_zone,
error, stack_trace);
84 return isolate->LookupServiceExtensionHandler(
name);
98 if (!isolate->is_service_isolate()) {
99 isolate->RegisterServiceExtensionHandler(
name, handler);
166 int64_t port_id =
port.Id();
185 ASSERT(isolate_group !=
nullptr);
192#if defined(DART_PRECOMPILED_RUNTIME)
194 ASSERT(isolate_group !=
nullptr);
195 if (
const uint8_t* instructions =
198 if (build_id.data !=
nullptr) {
200 for (intptr_t
i = 0;
i < build_id.len;
i++) {
201 buffer.Printf(
"%2.2x", build_id.data[
i]);
211#if defined(DART_ENABLE_HEAP_SNAPSHOT_WRITER)
213 String::CheckedHandle(zone, arguments->NativeArgAt(0));
214 bool successful =
false;
216 FileHeapSnapshotWriter file_writer(thread, filename.
ToCString(),
218 HeapSnapshotWriter writer(thread, &file_writer);
223 "Could not create & write heapsnapshot to disc. Possibly due to "
224 "missing embedder functionality.");
228 "Heap snapshots are only supported in non-product mode.");
void PauseDeveloper(const String &msg)
static DART_NORETURN void ThrowUnsupportedError(const char *msg)
intptr_t ReachabilityBarrier()
static IntegerPtr New(const String &str, Heap::Space space=Heap::kNew)
const uint8_t * snapshot_instructions
IsolateGroupSource * source() const
static std::unique_ptr< Message > New(Args &&... args)
static BuildId GetAppBuildId(const uint8_t *snapshot_instructions)
static bool PostMessage(std::unique_ptr< Message > message, bool before_events=false)
virtual char * GetServiceId(const Object &obj)
static void ControlWebServer(const SendPort &sp, bool enable, const Bool &silenceOutput)
static void RequestServerInfo(const SendPort &sp)
static void WaitForServiceIsolateStartup()
static void SendExtensionEvent(Isolate *isolate, const String &event_kind, const String &event_data)
static void SendInspectEvent(Isolate *isolate, const Object &inspectee)
static void SendLogEvent(Isolate *isolate, int64_t sequence_number, int64_t timestamp, intptr_t level, const String &name, const String &message, const Instance &zone, const Object &error, const Instance &stack_trace)
static SmiPtr New(intptr_t value)
static StringPtr NewFormatted(const char *format,...) PRINTF_ATTRIBUTE(1
static StringPtr New(const char *cstr, Heap::Space space=Heap::kNew)
static const char * ToCString(Thread *thread, StringPtr ptr)
const uint8_t uint32_t uint32_t GError ** error
static void SendNull(const SendPort &port)
DEFINE_NATIVE_ENTRY(List_allocate, 0, 2)
DEF_SWITCHES_START aot vmservice shared library Name of the *so containing AOT compiled Dart assets for launching the service isolate vm snapshot The VM snapshot data that will be memory mapped as read only SnapshotAssetPath must be present isolate snapshot The isolate snapshot data that will be memory mapped as read only SnapshotAssetPath must be present cache dir Path to the cache directory This is different from the persistent_cache_path in embedder which is used for Skia shader cache icu native lib Path to the library file that exports the ICU data vm service The hostname IP address on which the Dart VM Service should be served If not defaults to or::depending on whether ipv6 is specified vm service port
DEF_SWITCHES_START aot vmservice shared library Name of the *so containing AOT compiled Dart assets for launching the service isolate vm snapshot The VM snapshot data that will be memory mapped as read only SnapshotAssetPath must be present isolate snapshot The isolate snapshot data that will be memory mapped as read only SnapshotAssetPath must be present cache dir Path to the cache directory This is different from the persistent_cache_path in embedder which is used for Skia shader cache icu native lib Path to the library file that exports the ICU data vm service The hostname IP address on which the Dart VM Service should be served If not defaults to or::depending on whether ipv6 is specified vm service A custom Dart VM Service port The default is to pick a randomly available open port disable vm Disable the Dart VM Service The Dart VM Service is never available in release mode disable vm service Disable mDNS Dart VM Service publication Bind to the IPv6 localhost address for the Dart VM Service Ignored if vm service host is set endless trace buffer
#define GET_NATIVE_ARGUMENT(type, name, value)
#define GET_NON_NULL_NATIVE_ARGUMENT(type, name, value)
#define SERVICE_PROTOCOL_MAJOR_VERSION
#define ISOLATE_SERVICE_ID_FORMAT_STRING
#define SERVICE_PROTOCOL_MINOR_VERSION