1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-08-09 17:25:38 +02:00

Fix for 68226

This commit is contained in:
Alain Magloire 2004-06-25 01:02:33 +00:00
parent 0396ced3b7
commit 315a4fc293
4 changed files with 33 additions and 13 deletions

View file

@ -1,3 +1,10 @@
2004-06-24 Alain Magloire
Fix 68226
* cdi/org/eclipse/cdt/debug/mic/core/cdi/EventManager.java
* cdi/org/eclipse/cdt/debug/mic/core/cdi/Configuration.java
* cdi/org/eclipse/cdt/debug/mic/core/cdi/SoourceManager.java
2004-06-22 Alain Magloire
Fix PR 68176

View file

@ -136,9 +136,8 @@ public class Configuration implements ICDIConfiguration {
// FIXME: bug in Solaris gdb when using -tty, sending a control-c
// does not work.
return false;
} else {
return true;
}
return true;
}
return true;
}

View file

@ -425,6 +425,15 @@ public class EventManager extends SessionObject implements ICDIEventManager, Obs
if (currentThread instanceof Thread) {
tid = ((Thread)currentThread).getId();
}
// Select the old thread now.
if (tid > 0) {
MIThreadSelect selectThread = factory.createMIThreadSelect(tid);
try {
mi.postCommand(selectThread);
} catch (MIException e) {
// ignore
}
}
ICDIStackFrame frame = null;
try {
frame = currentThread.getCurrentStackFrame();
@ -451,13 +460,6 @@ public class EventManager extends SessionObject implements ICDIEventManager, Obs
// level of the old stack. The -1 is because gdb level is zero-based
miLevel = count - frame.getLevel() - 1;
}
if (tid > 0) {
MIThreadSelect selectThread = factory.createMIThreadSelect(tid);
try {
mi.postCommand(selectThread);
} catch (MIException e) {
}
}
if (miLevel >= 0) {
MIStackSelectFrame selectFrame = factory.createMIStackSelectFrame(miLevel);
MIExecFinish finish = factory.createMIExecFinish();
@ -465,7 +467,19 @@ public class EventManager extends SessionObject implements ICDIEventManager, Obs
mi.postCommand(selectFrame);
mi.postCommand(finish);
} catch (MIException e) {
// ignore
}
} else {
// if we are still at the same level in the backtrace
// for example the StopEventLib was on a different thread
// redo the last command.
Command cmd = lastUserCommand;
lastUserCommand = null;
try {
mi.postCommand(cmd);
} catch (MIException e) {
// ignore
}
}
return true;
} else if (lastUserCommand != null) {

View file

@ -305,13 +305,13 @@ public class SourceManager extends Manager implements ICDISourceManager {
// GDB has some special types for int
if (typename.equals("int8_t")) { //$NON-NLS-1$
return new CharType(target, typename);
} else if (typename.equals("int16_t")) { //$NON-NLS-$1
} else if (typename.equals("int16_t")) { //$NON-NLS-1$
return new ShortType(target, typename);
} else if (typename.equals("int32_t")) { //$NON-NLS-$1
} else if (typename.equals("int32_t")) { //$NON-NLS-1$
return new LongType(target, typename);
} else if (typename.equals("int64_t")) { //$NON-NLS-$1
} else if (typename.equals("int64_t")) { //$NON-NLS-1$
return new IntType(target, typename);
} else if (typename.equals("int128_t")) { //$NON-NLS-$1
} else if (typename.equals("int128_t")) { //$NON-NLS-1$
return new IntType(target, typename);
}