1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-23 22:52:11 +02:00

Correct detail value should be set to the 'resume' event to prevent the collapse of variable's and register's trees after stepping.

This commit is contained in:
Mikhail Khodjaiants 2002-10-15 02:06:51 +00:00
parent 629e7f3076
commit fd8dc50308
2 changed files with 25 additions and 27 deletions

View file

@ -1,3 +1,7 @@
2002-10-14 Mikhail Khodjaiants
* CThread.java: Set the correct detail for 'resume' event to prevent collapsing of the variable's and
register's trees after stepping.
2002-10-14 Mikhail Khodjaiants 2002-10-14 Mikhail Khodjaiants
* ISwitchToThread.java: New method to get the current thread. * ISwitchToThread.java: New method to get the current thread.
* CDebugTarget.java: Implemented the 'getCurrentThread' method of the 'ISwitchToThread' interface. * CDebugTarget.java: Implemented the 'getCurrentThread' method of the 'ISwitchToThread' interface.

View file

@ -831,38 +831,32 @@ public class CThread extends CDebugElement
setLastStackFrame( null ); setLastStackFrame( null );
int state = IState.RUNNING; int state = IState.RUNNING;
int detail = DebugEvent.UNSPECIFIED; int detail = DebugEvent.UNSPECIFIED;
if ( isCurrent() ) switch( event.getType() )
{ {
switch( event.getType() ) case ICDIResumedEvent.CONTINUE:
{ detail = DebugEvent.RESUME;
case ICDIResumedEvent.CONTINUE: break;
detail = DebugEvent.CLIENT_REQUEST; case ICDIResumedEvent.STEP_INTO:
state = IState.RUNNING; case ICDIResumedEvent.STEP_INTO_INSTRUCTION:
disposeStackFrames(); detail = DebugEvent.STEP_INTO;
break; break;
case ICDIResumedEvent.STEP_INTO: case ICDIResumedEvent.STEP_OVER:
case ICDIResumedEvent.STEP_INTO_INSTRUCTION: case ICDIResumedEvent.STEP_OVER_INSTRUCTION:
detail = DebugEvent.STEP_INTO; detail = DebugEvent.STEP_OVER;
state = IState.STEPPING; break;
preserveStackFrames(); case ICDIResumedEvent.STEP_RETURN:
break; detail = DebugEvent.STEP_RETURN;
case ICDIResumedEvent.STEP_OVER: break;
case ICDIResumedEvent.STEP_OVER_INSTRUCTION: }
detail = DebugEvent.STEP_OVER; if ( isCurrent() && event.getType() != ICDIResumedEvent.CONTINUE )
state = IState.STEPPING; {
preserveStackFrames(); preserveStackFrames();
break; state = IState.STEPPING;
case ICDIResumedEvent.STEP_RETURN:
detail = DebugEvent.STEP_RETURN;
state = IState.STEPPING;
preserveStackFrames();
break;
}
} }
else else
{ {
disposeStackFrames(); disposeStackFrames();
detail = DebugEvent.CLIENT_REQUEST; state = IState.RUNNING;
} }
setCurrentStateId( state ); setCurrentStateId( state );
setCurrentStateInfo( null ); setCurrentStateInfo( null );