diff --git a/meta/lib/oeqa/selftest/cases/devtool.py b/meta/lib/oeqa/selftest/cases/devtool.py
index ca76597bbe..99e6531877 100644
--- a/meta/lib/oeqa/selftest/cases/devtool.py
+++ b/meta/lib/oeqa/selftest/cases/devtool.py
@@ -3133,6 +3133,20 @@ class DevtoolIdeSdkTests(DevtoolBase):
     def _sources_workdir_dir(self, src_dir):
         return os.path.realpath(os.path.join(src_dir, 'oe-workdir'))
 
+    def _find_source_break_line(self, tempdir, source_file, marker):
+        """Find the 1-based line number of `marker` in tempdir/source_file
+
+        Used to set a source-level (file:line) breakpoint at a stable,
+        self-documenting location instead of hard-coding a line number that
+        would silently go stale whenever the example source changes.
+        """
+        source_path = os.path.join(tempdir, source_file)
+        with open(source_path) as f:
+            for lineno, line in enumerate(f, start=1):
+                if marker in line:
+                    return lineno
+        self.fail("Could not find marker %r in %s" % (marker, source_path))
+
     def _find_multi_script_port(self, recipe_name, script_prefix, example_exe):
         """Discover the port assigned to a generated 'multi' mode debug-server
         script (gdbserver_*/lldb_server_*), since each --ide plugin allocates
@@ -4876,20 +4890,6 @@ class DevtoolIdeSdkClangTests(DevtoolIdeSdkTests):
             self.assertTrue(task,
                             f"Configuration '{config_name}' preLaunchTask should not be empty")
 
-    def _find_source_break_line(self, tempdir, source_file, marker):
-        """Find the 1-based line number of `marker` in tempdir/source_file
-
-        Used to set a source-level (file:line) breakpoint at a stable,
-        self-documenting location instead of hard-coding a line number that
-        would silently go stale whenever the example source changes.
-        """
-        source_path = os.path.join(tempdir, source_file)
-        with open(source_path) as f:
-            for lineno, line in enumerate(f, start=1):
-                if marker in line:
-                    return lineno
-        self.fail("Could not find marker %r in %s" % (marker, source_path))
-
     def _lldb_debug_cpp_example_batch_commands(self, tempdir):
         """Get a list of lldb --batch '-o' commands to debug the cpp-example-lib example
 
