mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
IDEA-391886, debugger: Navigation back to logpoints when using Attach to Process or Remote JVM Debug configuration
^IDEA-391886 fixed (cherry picked from commit 1baf240afac985db37eed382e37690996f47903d) IJ-CR-214873 GitOrigin-RevId: f786a3270896c7e62bcbad075aa5fae1606bf550
This commit is contained in:
committed by
intellij-monorepo-bot
parent
0959925dae
commit
f55f5c8e0e
@@ -5,27 +5,51 @@ import com.intellij.execution.DefaultExecutionResult;
|
||||
import com.intellij.execution.ExecutionException;
|
||||
import com.intellij.execution.ExecutionResult;
|
||||
import com.intellij.execution.Executor;
|
||||
import com.intellij.execution.application.JavaConsoleDecorator;
|
||||
import com.intellij.execution.configurations.RemoteConnection;
|
||||
import com.intellij.execution.configurations.RemoteState;
|
||||
import com.intellij.execution.configurations.RunConfigurationBase;
|
||||
import com.intellij.execution.impl.ConsoleViewImpl;
|
||||
import com.intellij.execution.runners.ProgramRunner;
|
||||
import com.intellij.execution.ui.ConsoleView;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.xdebugger.DapMode;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
public class RemoteStateState implements RemoteState {
|
||||
private final Project myProject;
|
||||
private final RemoteConnection myConnection;
|
||||
private final boolean myAutoRestart;
|
||||
private final @Nullable RunConfigurationBase<?> myRunConfiguration;
|
||||
|
||||
public RemoteStateState(Project project, RemoteConnection connection) {
|
||||
this(project, connection, false);
|
||||
this(project, connection, false, null);
|
||||
}
|
||||
|
||||
public RemoteStateState(Project project, RemoteConnection connection, boolean autoRestart) {
|
||||
this(project, connection, autoRestart, null);
|
||||
}
|
||||
|
||||
public RemoteStateState(Project project, RemoteConnection connection, @NotNull RunConfigurationBase<?> runConfiguration) {
|
||||
this(project, connection, false, runConfiguration);
|
||||
}
|
||||
|
||||
public RemoteStateState(Project project,
|
||||
RemoteConnection connection,
|
||||
@NotNull RunConfigurationBase<?> runConfiguration,
|
||||
boolean autoRestart) {
|
||||
this(project, connection, autoRestart, runConfiguration);
|
||||
}
|
||||
|
||||
private RemoteStateState(Project project,
|
||||
RemoteConnection connection,
|
||||
boolean autoRestart,
|
||||
@Nullable RunConfigurationBase<?> runConfiguration) {
|
||||
myProject = project;
|
||||
myConnection = connection;
|
||||
myAutoRestart = autoRestart;
|
||||
myRunConfiguration = runConfiguration;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -34,7 +58,10 @@ public class RemoteStateState implements RemoteState {
|
||||
if (DapMode.isDap()) {
|
||||
return new DefaultExecutionResult(null, process);
|
||||
}
|
||||
ConsoleViewImpl consoleView = new ConsoleViewImpl(myProject, false);
|
||||
ConsoleView consoleView = new ConsoleViewImpl(myProject, false);
|
||||
if (myRunConfiguration != null) {
|
||||
consoleView = JavaConsoleDecorator.decorate(consoleView, myRunConfiguration, executor);
|
||||
}
|
||||
consoleView.attachToProcess(process);
|
||||
return new DefaultExecutionResult(consoleView, process);
|
||||
}
|
||||
|
||||
+1
-1
@@ -512,7 +512,7 @@ public class JavaAttachDebuggerProvider implements XAttachDebuggerProvider {
|
||||
|
||||
@Override
|
||||
public @Nullable RunProfileState getState(@NotNull Executor executor, @NotNull ExecutionEnvironment environment) throws ExecutionException {
|
||||
return new RemoteStateState(getProject(), myAttachInfo.createConnection());
|
||||
return new RemoteStateState(getProject(), myAttachInfo.createConnection(), this);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -72,7 +72,7 @@ public class RemoteConfiguration extends ModuleBasedConfiguration<JavaRunConfigu
|
||||
debuggerSettings.setDebugPort(USE_SOCKET_TRANSPORT ? PORT : SHMEM_ADDRESS);
|
||||
debuggerSettings.setTransport(USE_SOCKET_TRANSPORT ? DebuggerSettings.SOCKET_TRANSPORT : DebuggerSettings.SHMEM_TRANSPORT);
|
||||
}
|
||||
return new RemoteStateState(getProject(), createRemoteConnection(), AUTO_RESTART);
|
||||
return new RemoteStateState(getProject(), createRemoteConnection(), this, AUTO_RESTART);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user