From b21c75453d520573eeaa21d0f91f5e7443d9fdde Mon Sep 17 00:00:00 2001 From: Mikhail Khodjaiants Date: Fri, 21 Apr 2006 18:09:10 +0000 Subject: [PATCH] Don't create pty when using gdbserver. --- debug/org.eclipse.cdt.debug.mi.core/ChangeLog | 5 +++++ .../eclipse/cdt/debug/mi/core/AbstractGDBCDIDebugger.java | 6 +++++- .../eclipse/cdt/debug/mi/core/GDBServerCDIDebugger2.java | 7 +++++++ 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/debug/org.eclipse.cdt.debug.mi.core/ChangeLog b/debug/org.eclipse.cdt.debug.mi.core/ChangeLog index 0c30706f864..fdb05618187 100644 --- a/debug/org.eclipse.cdt.debug.mi.core/ChangeLog +++ b/debug/org.eclipse.cdt.debug.mi.core/ChangeLog @@ -1,3 +1,8 @@ +2006-04-21 Mikhail Khodjaiants + Don't create pty when using gdbserver. + * AbstractGDBCDIDebugger.java + * GDBServerCDIDebugger2.java + 2006-04-21 Mikhail Khodjaiants Close the pty if the session creation failed. * MIPlugin.java diff --git a/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/AbstractGDBCDIDebugger.java b/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/AbstractGDBCDIDebugger.java index 2886b3d7832..0ee0446c272 100644 --- a/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/AbstractGDBCDIDebugger.java +++ b/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/AbstractGDBCDIDebugger.java @@ -104,7 +104,7 @@ abstract public class AbstractGDBCDIDebugger implements ICDIDebugger2 { ILaunchConfiguration config = launch.getLaunchConfiguration(); CommandFactory factory = getCommandFactory( config ); String[] extraArgs = getExtraArguments( config ); - boolean usePty = config.getAttribute( ICDTLaunchConfigurationConstants.ATTR_USE_TERMINAL, true ); + boolean usePty = usePty( config ); try { session = MIPlugin.getDefault().createSession( getSessionType( config ), gdbPath.toOSString(), factory, executable, extraArgs, usePty, monitor ); ICDISessionConfiguration sessionConfig = getSessionConfiguration( session ); @@ -139,6 +139,10 @@ abstract public class AbstractGDBCDIDebugger implements ICDIDebugger2 { return new String[0]; } + protected boolean usePty( ILaunchConfiguration config ) throws CoreException { + return config.getAttribute( ICDTLaunchConfigurationConstants.ATTR_USE_TERMINAL, true ); + } + abstract protected CommandFactory getCommandFactory( ILaunchConfiguration config ) throws CoreException; protected void doStartSession( ILaunch launch, Session session, IProgressMonitor monitor ) throws CoreException { diff --git a/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/GDBServerCDIDebugger2.java b/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/GDBServerCDIDebugger2.java index 65f616ce534..cae34bc69be 100644 --- a/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/GDBServerCDIDebugger2.java +++ b/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/GDBServerCDIDebugger2.java @@ -124,4 +124,11 @@ public class GDBServerCDIDebugger2 extends GDBCDIDebugger2 { } return new String[]{ "remote", remote }; //$NON-NLS-1$ } + + /* (non-Javadoc) + * @see org.eclipse.cdt.debug.mi.core.AbstractGDBCDIDebugger#usePty(org.eclipse.debug.core.ILaunchConfiguration) + */ + protected boolean usePty( ILaunchConfiguration config ) throws CoreException { + return false; + } }