private async Task InitializeSession(bool runEmulator) { if (runEmulator) { StatusLabel.Text = $"Status: running {_settings.Data.Path}..."; var runEmulatorResult = RunEmulator(); if (!runEmulatorResult.Success) { StatusLabel.Text = "Status: connection error"; MessageBox.Show(runEmulatorResult.ErrorMessage, "Emulator error", MessageBoxButton.OK, MessageBoxImage.Error); return; } await Task.Delay(500); } StatusLabel.Text = $"Status: connecting to {_settings.Data.Address}..."; var result = await _debugger.Connect(_settings.Data.Address); if (!result.Success) { StatusLabel.Text = "Status: connection error"; MessageBox.Show(result.ErrorMessage, "Connection error", MessageBoxButton.OK, MessageBoxImage.Error); return; } StatusLabel.Text = $"Status: connected to {_settings.Data.Address}"; await Task.Delay(100); await RequestForAllData(); }