diff --git a/java/debugger/impl/src/com/intellij/debugger/impl/attach/SAJDWPRemoteConnection.java b/java/debugger/impl/src/com/intellij/debugger/impl/attach/SAJDWPRemoteConnection.java index 5c12dbb700c0..14c3260540e4 100644 --- a/java/debugger/impl/src/com/intellij/debugger/impl/attach/SAJDWPRemoteConnection.java +++ b/java/debugger/impl/src/com/intellij/debugger/impl/attach/SAJDWPRemoteConnection.java @@ -10,6 +10,7 @@ import com.intellij.execution.process.ProcessOutput; import com.intellij.execution.util.ExecUtil; import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.util.Key; +import com.intellij.openapi.util.registry.Registry; import com.sun.jdi.VirtualMachine; import com.sun.jdi.connect.Connector; import com.sun.jdi.connect.IllegalConnectorArgumentsException; @@ -56,7 +57,11 @@ public class SAJDWPRemoteConnection extends PidRemoteConnection { @Override public VirtualMachine accept(Map map) throws IOException, IllegalConnectorArgumentsException { try { - startServer(new GeneralCommandLine(myCommands), false); + GeneralCommandLine commandLine = new GeneralCommandLine(myCommands); + if (Registry.is("debugger.sa.jdwp.debug")) { + commandLine.getParametersList().replaceOrPrepend("-agentlib:jdwp", "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n"); + } + startServer(commandLine, false); } catch (IOException e) { throw e; } catch (Exception e) { diff --git a/platform/util/resources/misc/registry.properties b/platform/util/resources/misc/registry.properties index e460c70a4cc8..2a2e9c2b79c0 100644 --- a/platform/util/resources/misc/registry.properties +++ b/platform/util/resources/misc/registry.properties @@ -439,6 +439,7 @@ debugger.variablesView.rss.description=Enable node expanding in variables view s debugger.variablesView.rss.depth=4 debugger.variablesView.rss.depth.description=Depth of search in variables view debugger.attach.to.process.action=true +debugger.sa.jdwp.debug=false execution.java.always.debug=false execution.java.always.debug.description=Always run java processes with the debug agent