1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-08-10 09:45:39 +02:00

Use the asynchronous implementation for resume, suspend, step etc provided by eclipse 3.1.

This commit is contained in:
Mikhail Khodjaiants 2005-01-10 22:52:06 +00:00
parent 0f2803f134
commit c796aad342
4 changed files with 83 additions and 148 deletions

View file

@ -1,3 +1,9 @@
2005-01-10 Mikhail Khodjaiants
Use the asynchronous implementation for resume, suspend, step etc provided by eclipse 3.1.
* CDebugTarget.java
* CThread.java
* CoreModelMessages.properties
2005-01-10 Mikhail Khodjaiants
Bug 73168: Use memory view provided by Eclipse platform in CDT.
* ICType.java

View file

@ -449,23 +449,13 @@ public class CDebugTarget extends CDebugElement implements ICDebugTarget, ICDIEv
return;
}
changeState( CDebugElementState.TERMINATING );
DebugPlugin.getDefault().asyncExec( new Runnable() {
public void run() {
try {
getCDITarget().terminate();
}
catch( CDIException e ) {
restoreOldState();
try {
targetRequestFailed( e.getMessage(), e );
}
catch( DebugException e1 ) {
failed( CoreModelMessages.getString( "CDebugTarget.2" ), e1 ); //$NON-NLS-1$
}
}
}
} );
try {
getCDITarget().terminate();
}
catch( CDIException e ) {
restoreOldState();
targetRequestFailed( e.getMessage(), null );
}
}
/* (non-Javadoc)
@ -508,23 +498,13 @@ public class CDebugTarget extends CDebugElement implements ICDebugTarget, ICDIEv
if ( !canResume() )
return;
changeState( CDebugElementState.RESUMING );
DebugPlugin.getDefault().asyncExec( new Runnable() {
public void run() {
try {
getCDITarget().resume( false );
}
catch( CDIException e ) {
restoreOldState();
try {
targetRequestFailed( e.getMessage(), e );
}
catch( DebugException e1 ) {
failed( CoreModelMessages.getString( "CDebugTarget.3" ), e1 ); //$NON-NLS-1$
}
}
}
} );
try {
getCDITarget().resume( false );
}
catch( CDIException e ) {
restoreOldState();
targetRequestFailed( e.getMessage(), null );
}
}
/* (non-Javadoc)
@ -534,23 +514,13 @@ public class CDebugTarget extends CDebugElement implements ICDebugTarget, ICDIEv
if ( !canSuspend() )
return;
changeState( CDebugElementState.SUSPENDING );
DebugPlugin.getDefault().asyncExec( new Runnable() {
public void run() {
try {
getCDITarget().suspend();
}
catch( CDIException e ) {
restoreOldState();
try {
targetRequestFailed( e.getMessage(), e );
}
catch( DebugException e1 ) {
failed( CoreModelMessages.getString( "CDebugTarget.4" ), e1 ); //$NON-NLS-1$
}
}
}
} );
try {
getCDITarget().suspend();
}
catch( CDIException e ) {
restoreOldState();
targetRequestFailed( e.getMessage(), null );
}
}
protected boolean isSuspending() {
@ -736,23 +706,13 @@ public class CDebugTarget extends CDebugElement implements ICDebugTarget, ICDIEv
return;
}
changeState( CDebugElementState.DISCONNECTING );
DebugPlugin.getDefault().asyncExec( new Runnable() {
public void run() {
try {
getCDITarget().disconnect();
}
catch( CDIException e ) {
restoreOldState();
try {
targetRequestFailed( e.getMessage(), e );
}
catch( DebugException e1 ) {
failed( CoreModelMessages.getString( "CDebugTarget.5" ), e1 ); //$NON-NLS-1$
}
}
}
} );
try {
getCDITarget().disconnect();
}
catch( CDIException e ) {
restoreOldState();
targetRequestFailed( e.getMessage(), null );
}
}
/* (non-Javadoc)

View file

@ -50,7 +50,6 @@ import org.eclipse.core.runtime.MultiStatus;
import org.eclipse.core.runtime.Status;
import org.eclipse.debug.core.DebugEvent;
import org.eclipse.debug.core.DebugException;
import org.eclipse.debug.core.DebugPlugin;
import org.eclipse.debug.core.model.IBreakpoint;
import org.eclipse.debug.core.model.IMemoryBlockRetrieval;
import org.eclipse.debug.core.model.IStackFrame;
@ -405,20 +404,15 @@ public class CThread extends CDebugElement implements ICThread, IRestart, IResum
public void resume() throws DebugException {
if ( !canResume() )
return;
final CDebugElementState oldState = getState();
CDebugElementState oldState = getState();
setState( CDebugElementState.RESUMING );
DebugPlugin.getDefault().asyncExec( new Runnable() {
public void run() {
try {
getCDIThread().resume( false );
}
catch( CDIException e ) {
setState( oldState );
failed( CoreModelMessages.getString( "CThread.2" ), e ); //$NON-NLS-1$
}
}
} );
try {
getCDIThread().resume( false );
}
catch( CDIException e ) {
setState( oldState );
targetRequestFailed( e.getMessage(), null );
}
}
/* (non-Javadoc)
@ -427,20 +421,15 @@ public class CThread extends CDebugElement implements ICThread, IRestart, IResum
public void suspend() throws DebugException {
if ( !canSuspend() )
return;
final CDebugElementState oldState = getState();
CDebugElementState oldState = getState();
setState( CDebugElementState.SUSPENDING );
DebugPlugin.getDefault().asyncExec( new Runnable() {
public void run() {
try {
getCDITarget().suspend();
}
catch( CDIException e ) {
setState( oldState );
failed( CoreModelMessages.getString( "CThread.3" ), e ); //$NON-NLS-1$
}
}
} );
try {
getCDITarget().suspend();
}
catch( CDIException e ) {
setState( oldState );
targetRequestFailed( e.getMessage(), null );
}
}
/* (non-Javadoc)
@ -492,25 +481,20 @@ public class CThread extends CDebugElement implements ICThread, IRestart, IResum
public void stepInto() throws DebugException {
if ( !canStepInto() )
return;
final CDebugElementState oldState = getState();
CDebugElementState oldState = getState();
setState( CDebugElementState.STEPPING );
DebugPlugin.getDefault().asyncExec( new Runnable() {
public void run() {
try {
if ( !isInstructionsteppingEnabled() ) {
getCDIThread().stepInto( 1 );
}
else {
getCDIThread().stepIntoInstruction( 1 );
}
}
catch( CDIException e ) {
setState( oldState );
failed( CoreModelMessages.getString( "CThread.4" ), e ); //$NON-NLS-1$
}
try {
if ( !isInstructionsteppingEnabled() ) {
getCDIThread().stepInto( 1 );
}
} );
else {
getCDIThread().stepIntoInstruction( 1 );
}
}
catch( CDIException e ) {
setState( oldState );
targetRequestFailed( e.getMessage(), null );
}
}
/* (non-Javadoc)
@ -519,25 +503,20 @@ public class CThread extends CDebugElement implements ICThread, IRestart, IResum
public void stepOver() throws DebugException {
if ( !canStepOver() )
return;
final CDebugElementState oldState = getState();
CDebugElementState oldState = getState();
setState( CDebugElementState.STEPPING );
DebugPlugin.getDefault().asyncExec( new Runnable() {
public void run() {
try {
if ( !isInstructionsteppingEnabled() ) {
getCDIThread().stepOver( 1 );
}
else {
getCDIThread().stepOverInstruction( 1 );
}
}
catch( CDIException e ) {
setState( oldState );
failed( CoreModelMessages.getString( "CThread.5" ), e ); //$NON-NLS-1$
}
try {
if ( !isInstructionsteppingEnabled() ) {
getCDIThread().stepOver( 1 );
}
} );
else {
getCDIThread().stepOverInstruction( 1 );
}
}
catch( CDIException e ) {
setState( oldState );
targetRequestFailed( e.getMessage(), null );
}
}
/* (non-Javadoc)
@ -549,21 +528,16 @@ public class CThread extends CDebugElement implements ICThread, IRestart, IResum
IStackFrame[] frames = getStackFrames();
if ( frames.length == 0 )
return;
final CStackFrame f = (CStackFrame)frames[0];
final CDebugElementState oldState = getState();
CStackFrame f = (CStackFrame)frames[0];
CDebugElementState oldState = getState();
setState( CDebugElementState.STEPPING );
DebugPlugin.getDefault().asyncExec( new Runnable() {
public void run() {
try {
f.doStepReturn();
}
catch( DebugException e ) {
setState( oldState );
failed( CoreModelMessages.getString( "CThread.6" ), e ); //$NON-NLS-1$
}
}
} );
try {
f.doStepReturn();
}
catch( DebugException e ) {
setState( oldState );
throw e;
}
}
/* (non-Javadoc)

View file

@ -23,11 +23,6 @@ CModificationVariable.1=Unable to set value.
CStackFrame.0={0} at {1}: {2}
CThread.0=Stack is not available: {0}.
CThread.1=Stack is not available: {0}.
CThread.2=Resume failed.
CThread.3=Suspend failed.
CThread.4=Step failed.
CThread.5=Step failed.
CThread.6=Step failed.
CValue.0=not available: {0}
CVariable.0=not available: {0}
CVariable.1=not available: {0}