In the past you could tell the nodes in a test cluster to attach themselves to a waiting debugger on startup by passing the `--debug-server-jvm` option documented here:

https://github.com/elastic/elasticsearch/blob/c0228c73fea5caf279bf7141eabea50813c4528b/TESTING.asciidoc#L383-L390

I think this changed in #92379 and no longer seems to work. In fact I really wanted to attach a debugger to just one of the nodes in the cluster, and I believe #92379 might make this much easier to use (e.g. maybe via a method `LocalNodeSpecBuilder#debuggerPort(int)`). That'd be even better.
test/test-clusters/src/main/java/org/elasticsearch/test/cluster/local/LocalClusterFactory.java
String heapSize = System.getProperty("tests.heap.size", "512m");
            environment.put("ES_JAVA_OPTS", "-Xms" + heapSize + " -Xmx" + heapSize + " -ea -esa "
            
                + System.getProperty("tests.jvm.argline", "")
                + " "
                + featureFlagProperties
                + systemProperties);
            return environment;
        }
        private Map<String, String> getJvmOptionsReplacements() {
            Path relativeLogsDir = workingDir.relativize(logsDir);
            return Map.of(
                "-XX:HeapDumpPath=data",
                "-XX:HeapDumpPath=" + relativeLogsDir,
                "logs/gc.log",
                relativeLogsDir.resolve("gc.log").toString(),
                "-XX:ErrorFile=logs/hs_err_pid%p.log",
                "-XX:ErrorFile=" + relativeLogsDir.resolve("hs_err_pid%p.log")
            );
        }
        private String getServiceName() {
            return baseWorkingDir.getFileName() + "-" + spec.getCluster().getName() + "-" + spec.getName();
        }
        @Override
        public String toString() {
            return "{ cluster: '" + spec.getCluster().getName() + "', node: '" + spec.getName() + "' }";
        }
    }
}