[device_doctor] add debug logging to ios-debug-symbol-doctor (#1948)

diff --git a/device_doctor/lib/src/ios_debug_symbol_doctor.dart b/device_doctor/lib/src/ios_debug_symbol_doctor.dart
index 4296d7d..5db83bf 100644
--- a/device_doctor/lib/src/ios_debug_symbol_doctor.dart
+++ b/device_doctor/lib/src/ios_debug_symbol_doctor.dart
@@ -35,7 +35,9 @@
       );
       return false;
     }
-    final Iterable<XCDevice> devices = XCDevice.parseJson(result.stdout as String);
+    final String stdout = result.stdout as String;
+    logger.info(stdout);
+    final Iterable<XCDevice> devices = XCDevice.parseJson(stdout);
     final Iterable<XCDevice> devicesWithErrors = devices.where((XCDevice device) => device.hasError);
 
     if (devicesWithErrors.isNotEmpty) {
diff --git a/device_doctor/test/src/ios_debug_symbol_doctor_test.dart b/device_doctor/test/src/ios_debug_symbol_doctor_test.dart
index 8f86b93..e1ddfb2 100644
--- a/device_doctor/test/src/ios_debug_symbol_doctor_test.dart
+++ b/device_doctor/test/src/ios_debug_symbol_doctor_test.dart
@@ -46,7 +46,7 @@
     );
   }
 
-  group('recover sub-command opens Xcode, waits for timeout, then kills Xcode', () {
+  group('commands', () {
     late MockProcessManager processManager;
     late TestLogger logger;
     const String cocoonPath = '/path/to/cocoon';
@@ -60,7 +60,23 @@
       fs.directory(xcworkspacePath).createSync(recursive: true);
     });
 
-    test('dart ios_debug_symbol_doctor.dart recover opens Xcode, waits, then kills it', () async {
+    test('diagnose logs output of xcdevice list', () async {
+      when(
+        processManager.run(<String>['xcrun', 'xcdevice', 'list']),
+      ).thenAnswer((_) async {
+        return ProcessResult(0, 0, _jsonWithNonFatalErrors, '');
+      });
+      final CommandRunner<bool> runner = _createTestRunner();
+      final command = DiagnoseCommand(
+        processManager: processManager,
+        loggerOverride: logger,
+      );
+      runner.addCommand(command);
+      await runner.run(<String>['diagnose']);
+      expect(logger.logs[Level.INFO], contains(_jsonWithNonFatalErrors));
+    });
+
+    test('recover opens Xcode, waits, then kills it', () async {
       when(
         processManager.run(<String>['open', '-n', '-F', '-W', xcworkspacePath]),
       ).thenAnswer((_) async {