diff --git a/java/debugger/impl/src/com/intellij/debugger/impl/DebuggerManagerImpl.java b/java/debugger/impl/src/com/intellij/debugger/impl/DebuggerManagerImpl.java index cd5638d7855b..37f52a4c8506 100644 --- a/java/debugger/impl/src/com/intellij/debugger/impl/DebuggerManagerImpl.java +++ b/java/debugger/impl/src/com/intellij/debugger/impl/DebuggerManagerImpl.java @@ -21,6 +21,7 @@ import com.intellij.debugger.engine.*; import com.intellij.debugger.settings.DebuggerSettings; import com.intellij.debugger.ui.GetJPDADialog; import com.intellij.debugger.ui.breakpoints.BreakpointManager; +import com.intellij.debugger.ui.tree.render.BatchEvaluator; import com.intellij.execution.ExecutionException; import com.intellij.execution.ExecutionResult; import com.intellij.execution.configurations.JavaParameters; @@ -295,6 +296,17 @@ public class DebuggerManagerImpl extends DebuggerManagerEx implements Persistent }); } myDispatcher.getMulticaster().sessionCreated(session); + + if (debugProcess.isDetached() || debugProcess.isDetaching()) { + session.dispose(); + return null; + } + if (environment.isRemote()) { + // optimization: that way BatchEvaluator will not try to lookup the class file in remote VM + // which is an expensive operation when executed first time + debugProcess.putUserData(BatchEvaluator.REMOTE_SESSION_KEY, Boolean.TRUE); + } + return session; } diff --git a/java/debugger/impl/src/com/intellij/debugger/impl/GenericDebuggerRunner.java b/java/debugger/impl/src/com/intellij/debugger/impl/GenericDebuggerRunner.java index d69ee8dc470f..9ba4a3d4746f 100644 --- a/java/debugger/impl/src/com/intellij/debugger/impl/GenericDebuggerRunner.java +++ b/java/debugger/impl/src/com/intellij/debugger/impl/GenericDebuggerRunner.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2015 JetBrains s.r.o. + * Copyright 2000-2016 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -22,7 +22,6 @@ import com.intellij.debugger.engine.DebugProcessImpl; import com.intellij.debugger.engine.DebuggerUtils; import com.intellij.debugger.engine.JavaDebugProcess; import com.intellij.debugger.settings.DebuggerSettings; -import com.intellij.debugger.ui.tree.render.BatchEvaluator; import com.intellij.execution.DefaultExecutionResult; import com.intellij.execution.ExecutionException; import com.intellij.execution.ExecutionResult; @@ -94,15 +93,6 @@ public class GenericDebuggerRunner extends JavaPatchableProgramRunner