Make debugSemantics available to profile mode (#58620)

diff --git a/dev/integration_tests/flutter_gallery/test_driver/transitions_perf_test.dart b/dev/integration_tests/flutter_gallery/test_driver/transitions_perf_test.dart
index a23d91d..0e5d552 100644
--- a/dev/integration_tests/flutter_gallery/test_driver/transitions_perf_test.dart
+++ b/dev/integration_tests/flutter_gallery/test_driver/transitions_perf_test.dart
@@ -190,6 +190,7 @@
 }
 
 void main([List<String> args = const <String>[]]) {
+  final bool withSemantics = args.contains('--with_semantics');
   group('flutter gallery transitions', () {
     FlutterDriver driver;
     setUpAll(() async {
@@ -197,8 +198,7 @@
 
       // Wait for the first frame to be rasterized.
       await driver.waitUntilFirstFrameRasterized();
-
-      if (args.contains('--with_semantics')) {
+      if (withSemantics) {
         print('Enabeling semantics...');
         await driver.setSemantics(true);
       }
@@ -214,6 +214,12 @@
         await driver.close();
     });
 
+    test('find.bySemanticsLabel', () async {
+      // Assert that we can use semantics related finders in profile mode.
+      final int id = await driver.getSemanticsId(find.bySemanticsLabel('Material'));
+      expect(id, greaterThan(-1));
+    }, skip: !withSemantics);
+
     test('all demos', () async {
       // Collect timeline data for just a limited set of demos to avoid OOMs.
       final Timeline timeline = await driver.traceAction(
diff --git a/packages/flutter/lib/src/rendering/object.dart b/packages/flutter/lib/src/rendering/object.dart
index eaaa3ef..a6abe70 100644
--- a/packages/flutter/lib/src/rendering/object.dart
+++ b/packages/flutter/lib/src/rendering/object.dart
@@ -2482,15 +2482,13 @@
   /// render objects in production, obtain a [SemanticsHandle] from
   /// [PipelineOwner.ensureSemantics].
   ///
-  /// Only valid when asserts are enabled. In release builds, always returns
+  /// Only valid in debug and profile mode. In release builds, always returns
   /// null.
   SemanticsNode get debugSemantics {
-    SemanticsNode result;
-    assert(() {
-      result = _semantics;
-      return true;
-    }());
-    return result;
+    if (!kReleaseMode) {
+      return _semantics;
+    }
+    return null;
   }
 
   /// Removes all semantics from this render object and its descendants.