diff --git a/pkg/dartdev/lib/src/commands/run.dart b/pkg/dartdev/lib/src/commands/run.dart index 45bfd1e2f9c..db32bfed057 100644 --- a/pkg/dartdev/lib/src/commands/run.dart +++ b/pkg/dartdev/lib/src/commands/run.dart @@ -243,13 +243,18 @@ String maybeUriToFilename(String maybeUri) { class _DebuggingSession { Future start( String host, String port, bool disableServiceAuthCodes) async { - final serviceInfo = await Service.getInfo(); final ddsSnapshot = (dirname(sdk.dart).endsWith('bin')) ? sdk.ddsSnapshot : absolute(dirname(sdk.dart), 'gen', 'dds.dart.snapshot'); if (!Sdk.checkArtifactExists(ddsSnapshot)) { return false; } + ServiceProtocolInfo serviceInfo = await Service.getInfo(); + // Wait for VM service to publish its connection info. + while (serviceInfo.serverUri == null) { + await Future.delayed(Duration(milliseconds: 10)); + serviceInfo = await Service.getInfo(); + } final process = await Process.start( sdk.dart, [