diff --git a/java/debugger/debugger-agent/intellij.java.debugger.agent.holder.iml b/java/debugger/debugger-agent/intellij.java.debugger.agent.holder.iml
index bb95d6619212..364daf27ab2e 100644
--- a/java/debugger/debugger-agent/intellij.java.debugger.agent.holder.iml
+++ b/java/debugger/debugger-agent/intellij.java.debugger.agent.holder.iml
@@ -7,19 +7,19 @@
-
+
-
- b724610d5798f5dad9c86d7fd3771ce155a0601b6153741e75c4d86fab100d84
+
+ 29a31d2122fb753a7b5e94dcb90a44b84e36f543ac89b1b4f58d345107ffb957
-
+
-
+
diff --git a/java/debugger/impl/src/com/intellij/debugger/impl/RemoteConnectionBuilder.java b/java/debugger/impl/src/com/intellij/debugger/impl/RemoteConnectionBuilder.java
index d2556b8d47f5..fac985b082eb 100644
--- a/java/debugger/impl/src/com/intellij/debugger/impl/RemoteConnectionBuilder.java
+++ b/java/debugger/impl/src/com/intellij/debugger/impl/RemoteConnectionBuilder.java
@@ -23,6 +23,7 @@ import com.intellij.openapi.projectRoots.JavaSdkVersion;
import com.intellij.openapi.projectRoots.Sdk;
import com.intellij.openapi.projectRoots.ex.JavaSdkUtil;
import com.intellij.openapi.util.io.FileUtil;
+import com.intellij.openapi.util.registry.Registry;
import com.intellij.openapi.util.text.StringUtil;
import com.intellij.util.PathUtil;
import com.intellij.util.PathsList;
@@ -247,6 +248,9 @@ public class RemoteConnectionBuilder {
private static String generateAgentSettings(@Nullable Project project) {
Properties properties = CaptureSettingsProvider.getPointsProperties(project);
+ if (Registry.is("debugger.run.suspend.helper")) {
+ properties.setProperty("suspendHelper", "true");
+ }
if (!properties.isEmpty()) {
try {
File file = FileUtil.createTempFile("capture", ".props");
diff --git a/platform/util/resources/misc/registry.properties b/platform/util/resources/misc/registry.properties
index ec1ae49cf3ff..1b2505723899 100644
--- a/platform/util/resources/misc/registry.properties
+++ b/platform/util/resources/misc/registry.properties
@@ -1140,6 +1140,9 @@ show.method.base.class.in.java.file.structure=true
debugger.enable.breakpoints.during.evaluation=false
+debugger.run.suspend.helper=false
+debugger.run.suspend.helper.description=Run suspend helper by debug agent
+
debugger.filter.breakpoints.during.stepping.using.debugger.engine=false
debugger.filter.breakpoints.during.stepping.using.debugger.engine.description=When enabled uses old mechanism to disable all events in other threads during stepping via applying JDI thread filter