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:
parent
e1c79c7850
commit
f406e39bde
2 changed files with 14 additions and 9 deletions
|
@ -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
|
||||||
|
{
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -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 );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue