Version 2.18.0-214.0.dev
Merge commit 'fe8dd70d4751a0184f9b399a1ec188407c775d65' into 'dev'
diff --git a/pkg/dds/lib/src/dap/adapters/dart.dart b/pkg/dds/lib/src/dap/adapters/dart.dart
index bf7cf96..b028eb1 100644
--- a/pkg/dds/lib/src/dap/adapters/dart.dart
+++ b/pkg/dds/lib/src/dap/adapters/dart.dart
@@ -580,15 +580,8 @@
final vmService = await _vmServiceConnectUri(uri.toString());
logger?.call('Connected to debugger at $uri!');
- // Send a custom event with the VM Service URI as the editor might want to
- // know about this (for example so it can connect an embedded DevTools to
- // this app).
- sendEvent(
- RawEventBody({
- 'vmServiceUri': uri.toString(),
- }),
- eventType: 'dart.debuggerUris',
- );
+ // Send debugger URI to the client.
+ sendDebuggerUris(uri);
this.vmService = vmService;
@@ -631,6 +624,18 @@
_debuggerInitializedCompleter.complete();
}
+ void sendDebuggerUris(Uri uri) {
+ // Send a custom event with the VM Service URI as the editor might want to
+ // know about this (for example so it can connect an embedded DevTools to
+ // this app).
+ sendEvent(
+ RawEventBody({
+ 'vmServiceUri': uri.toString(),
+ }),
+ eventType: 'dart.debuggerUris',
+ );
+ }
+
/// Process any existing isolates that may have been created before the
/// streams above were set up.
Future<void> _configureExistingIsolates(
diff --git a/runtime/vm/isolate.cc b/runtime/vm/isolate.cc
index 84694a6..d20cf54 100644
--- a/runtime/vm/isolate.cc
+++ b/runtime/vm/isolate.cc
@@ -1739,6 +1739,13 @@
// how the vm_tag (kEmbedderTagId) can be set, these tags need to
// move to the OSThread structure.
set_user_tag(UserTags::kDefaultUserTag);
+
+ if (group()->obfuscate()) {
+ OS::PrintErr(
+ "Warning: This VM has been configured to obfuscate symbol information "
+ "which violates the Dart standard.\n"
+ " See dartbug.com/30524 for more information.\n");
+ }
}
#undef REUSABLE_HANDLE_SCOPE_INIT
diff --git a/runtime/vm/object.cc b/runtime/vm/object.cc
index 8814320..47633fe 100644
--- a/runtime/vm/object.cc
+++ b/runtime/vm/object.cc
@@ -25878,6 +25878,12 @@
isolate_instructions_image.instructions_relocated_address();
auto const vm_relocated_address =
vm_instructions_image.instructions_relocated_address();
+ // The Dart standard requires the output of StackTrace.toString to include
+ // all pending activations with precise source locations (i.e., to expand
+ // inlined frames and provide line and column numbers).
+ buffer.Printf(
+ "Warning: This VM has been configured to produce stack traces "
+ "that violate the Dart standard.\n");
// This prologue imitates Android's debuggerd to make it possible to paste
// the stack trace into ndk-stack.
buffer.Printf(
diff --git a/tools/VERSION b/tools/VERSION
index 1e379b9..eef9402 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -27,5 +27,5 @@
MAJOR 2
MINOR 18
PATCH 0
-PRERELEASE 213
+PRERELEASE 214
PRERELEASE_PATCH 0
\ No newline at end of file