1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-06-05 08:46:02 +02:00

Changed the creation of debug target.

This commit is contained in:
Mikhail Khodjaiants 2002-08-13 20:34:20 +00:00
parent e1c79c7850
commit f406e39bde
2 changed files with 14 additions and 9 deletions

View file

@ -6,12 +6,14 @@
package org.eclipse.cdt.debug.core; package org.eclipse.cdt.debug.core;
import org.eclipse.cdt.debug.core.cdi.CDIException;
import org.eclipse.cdt.debug.core.cdi.model.ICDITarget; import org.eclipse.cdt.debug.core.cdi.model.ICDITarget;
import org.eclipse.cdt.debug.internal.core.CDebugTarget; import org.eclipse.cdt.debug.internal.core.CDebugTarget;
import org.eclipse.core.resources.IWorkspaceRunnable; import org.eclipse.core.resources.IWorkspaceRunnable;
import org.eclipse.core.resources.ResourcesPlugin; import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.debug.core.DebugException;
import org.eclipse.debug.core.ILaunch; import org.eclipse.debug.core.ILaunch;
import org.eclipse.debug.core.model.IDebugTarget; import org.eclipse.debug.core.model.IDebugTarget;
import org.eclipse.debug.core.model.IProcess; import org.eclipse.debug.core.model.IProcess;
@ -74,7 +76,7 @@ public class CDebugModel
final IProcess process, final IProcess process,
final boolean allowTerminate, final boolean allowTerminate,
final boolean allowDisconnect, final boolean allowDisconnect,
final boolean resume ) final boolean stopInMain ) throws DebugException
{ {
final IDebugTarget[] target = new IDebugTarget[1]; final IDebugTarget[] target = new IDebugTarget[1];
IWorkspaceRunnable r = new IWorkspaceRunnable() IWorkspaceRunnable r = new IWorkspaceRunnable()
@ -86,8 +88,7 @@ public class CDebugModel
name, name,
process, process,
allowTerminate, allowTerminate,
allowDisconnect, allowDisconnect );
resume );
} }
}; };
try try
@ -98,6 +99,15 @@ public class CDebugModel
{ {
CDebugCorePlugin.log( e ); CDebugCorePlugin.log( e );
} }
if ( stopInMain )
breakInMain( cdiTarget );
target[0].resume();
return target[0]; return target[0];
} }
private static void breakInMain( ICDITarget cdiTarget ) throws DebugException
{
}
} }

View file

@ -154,8 +154,7 @@ public class CDebugTarget extends CDebugElement
String name, String name,
IProcess process, IProcess process,
boolean allowsTerminate, boolean allowsTerminate,
boolean allowsDisconnect, boolean allowsDisconnect )
boolean resume )
{ {
super( null ); super( null );
setLaunch( launch ); setLaunch( launch );
@ -402,12 +401,10 @@ public class CDebugTarget extends CDebugElement
setSuspended( false ); setSuspended( false );
getCDITarget().resume(); getCDITarget().resume();
resumeThreads(); resumeThreads();
fireResumeEvent( DebugEvent.CLIENT_REQUEST );
} }
catch( CDIException e ) catch( CDIException e )
{ {
setSuspended( true ); setSuspended( true );
fireSuspendEvent( DebugEvent.CLIENT_REQUEST );
targetRequestFailed( MessageFormat.format( "{0} occurred resuming target.", new String[] { e.toString() } ), e ); targetRequestFailed( MessageFormat.format( "{0} occurred resuming target.", new String[] { e.toString() } ), e );
} }
} }
@ -424,14 +421,12 @@ public class CDebugTarget extends CDebugElement
try try
{ {
setSuspended( true ); setSuspended( true );
fireSuspendEvent( DebugEvent.CLIENT_REQUEST );
getCDITarget().suspend(); getCDITarget().suspend();
suspendThreads(); suspendThreads();
} }
catch( CDIException e ) catch( CDIException e )
{ {
setSuspended( false ); setSuspended( false );
fireResumeEvent( DebugEvent.CLIENT_REQUEST );
targetRequestFailed( MessageFormat.format( "{0} occurred suspending target.", new String[] { e.toString()} ), e ); targetRequestFailed( MessageFormat.format( "{0} occurred suspending target.", new String[] { e.toString()} ), e );
} }
} }