mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-04-23 14:42:11 +02:00
Catch MIRegisterChangedEvent and call update on the RegisterManager.
This commit is contained in:
parent
b7ec1b9bb1
commit
73a428b3f5
1 changed files with 15 additions and 6 deletions
|
@ -16,12 +16,14 @@ import org.eclipse.cdt.debug.core.cdi.ICDIEventManager;
|
||||||
import org.eclipse.cdt.debug.core.cdi.event.ICDIEvent;
|
import org.eclipse.cdt.debug.core.cdi.event.ICDIEvent;
|
||||||
import org.eclipse.cdt.debug.core.cdi.event.ICDIEventListener;
|
import org.eclipse.cdt.debug.core.cdi.event.ICDIEventListener;
|
||||||
import org.eclipse.cdt.debug.mi.core.event.MIBreakpointEvent;
|
import org.eclipse.cdt.debug.mi.core.event.MIBreakpointEvent;
|
||||||
|
import org.eclipse.cdt.debug.mi.core.event.MIChangedEvent;
|
||||||
import org.eclipse.cdt.debug.mi.core.event.MIDetachedEvent;
|
import org.eclipse.cdt.debug.mi.core.event.MIDetachedEvent;
|
||||||
import org.eclipse.cdt.debug.mi.core.event.MIEvent;
|
import org.eclipse.cdt.debug.mi.core.event.MIEvent;
|
||||||
import org.eclipse.cdt.debug.mi.core.event.MIFunctionFinishedEvent;
|
import org.eclipse.cdt.debug.mi.core.event.MIFunctionFinishedEvent;
|
||||||
import org.eclipse.cdt.debug.mi.core.event.MIGDBExitEvent;
|
import org.eclipse.cdt.debug.mi.core.event.MIGDBExitEvent;
|
||||||
import org.eclipse.cdt.debug.mi.core.event.MIInferiorExitEvent;
|
import org.eclipse.cdt.debug.mi.core.event.MIInferiorExitEvent;
|
||||||
import org.eclipse.cdt.debug.mi.core.event.MILocationReachedEvent;
|
import org.eclipse.cdt.debug.mi.core.event.MILocationReachedEvent;
|
||||||
|
import org.eclipse.cdt.debug.mi.core.event.MIRegisterChangedEvent;
|
||||||
import org.eclipse.cdt.debug.mi.core.event.MIRunningEvent;
|
import org.eclipse.cdt.debug.mi.core.event.MIRunningEvent;
|
||||||
import org.eclipse.cdt.debug.mi.core.event.MISignalEvent;
|
import org.eclipse.cdt.debug.mi.core.event.MISignalEvent;
|
||||||
import org.eclipse.cdt.debug.mi.core.event.MISteppingRangeEvent;
|
import org.eclipse.cdt.debug.mi.core.event.MISteppingRangeEvent;
|
||||||
|
@ -51,12 +53,17 @@ public class EventManager extends SessionObject implements ICDIEventManager, Obs
|
||||||
cdiEvent = new SuspendedEvent(session, miEvent);
|
cdiEvent = new SuspendedEvent(session, miEvent);
|
||||||
} else if (miEvent instanceof MIRunningEvent) {
|
} else if (miEvent instanceof MIRunningEvent) {
|
||||||
cdiEvent = new ResumedEvent(session, (MIRunningEvent)miEvent);
|
cdiEvent = new ResumedEvent(session, (MIRunningEvent)miEvent);
|
||||||
} else if (miEvent instanceof MIVarChangedEvent) {
|
} else if (miEvent instanceof MIChangedEvent) {
|
||||||
MIVarChangedEvent eventChanged = (MIVarChangedEvent)miEvent;
|
if (miEvent instanceof MIVarChangedEvent) {
|
||||||
if (eventChanged.isInScope()) {
|
MIVarChangedEvent eventChanged = (MIVarChangedEvent)miEvent;
|
||||||
cdiEvent = new ChangedEvent(session, (MIVarChangedEvent)miEvent);
|
if (eventChanged.isInScope()) {
|
||||||
} else {
|
cdiEvent = new ChangedEvent(session, (MIVarChangedEvent)miEvent);
|
||||||
cdiEvent = new DestroyedEvent(session, (MIVarChangedEvent)miEvent);
|
} else {
|
||||||
|
cdiEvent = new DestroyedEvent(session, (MIVarChangedEvent)miEvent);
|
||||||
|
}
|
||||||
|
} else if (miEvent instanceof MIRegisterChangedEvent) {
|
||||||
|
MIRegisterChangedEvent eventChanged = (MIRegisterChangedEvent)miEvent;
|
||||||
|
cdiEvent = new ChangedEvent(session, (MIRegisterChangedEvent)miEvent);
|
||||||
}
|
}
|
||||||
} else if (miEvent instanceof MIThreadExitEvent) {
|
} else if (miEvent instanceof MIThreadExitEvent) {
|
||||||
cdiEvent = new DestroyedEvent(session,(MIThreadExitEvent)miEvent);
|
cdiEvent = new DestroyedEvent(session,(MIThreadExitEvent)miEvent);
|
||||||
|
@ -134,8 +141,10 @@ public class EventManager extends SessionObject implements ICDIEventManager, Obs
|
||||||
target.updateState(threadId);
|
target.updateState(threadId);
|
||||||
|
|
||||||
VariableManager varMgr = getCSession().getVariableManager();
|
VariableManager varMgr = getCSession().getVariableManager();
|
||||||
|
RegisterManager regMgr = getCSession().getRegisterManager();
|
||||||
try {
|
try {
|
||||||
varMgr.update();
|
varMgr.update();
|
||||||
|
regMgr.update();
|
||||||
} catch (CDIException e) {
|
} catch (CDIException e) {
|
||||||
//System.out.println(e);
|
//System.out.println(e);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue