mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-04-29 19:45:01 +02:00
Bug 353423: Simpler solution using -thread-info instead of -list-thread-groups --recurse 1
This commit is contained in:
parent
ebfa9bcd0a
commit
fd690737ac
1 changed files with 33 additions and 41 deletions
|
@ -30,10 +30,8 @@ import org.eclipse.cdt.dsf.mi.service.IMIExecutionDMContext;
|
||||||
import org.eclipse.cdt.dsf.mi.service.IMIRunControl;
|
import org.eclipse.cdt.dsf.mi.service.IMIRunControl;
|
||||||
import org.eclipse.cdt.dsf.mi.service.command.CommandFactory;
|
import org.eclipse.cdt.dsf.mi.service.command.CommandFactory;
|
||||||
import org.eclipse.cdt.dsf.mi.service.command.output.MIInfo;
|
import org.eclipse.cdt.dsf.mi.service.command.output.MIInfo;
|
||||||
import org.eclipse.cdt.dsf.mi.service.command.output.MIListThreadGroupsInfo;
|
|
||||||
import org.eclipse.cdt.dsf.mi.service.command.output.MIListThreadGroupsInfo.IThreadGroupInfo;
|
|
||||||
import org.eclipse.cdt.dsf.mi.service.command.output.MIListThreadGroupsInfo.IThreadGroupInfo2;
|
|
||||||
import org.eclipse.cdt.dsf.mi.service.command.output.MIThread;
|
import org.eclipse.cdt.dsf.mi.service.command.output.MIThread;
|
||||||
|
import org.eclipse.cdt.dsf.mi.service.command.output.MIThreadInfoInfo;
|
||||||
import org.eclipse.cdt.dsf.service.DsfSession;
|
import org.eclipse.cdt.dsf.service.DsfSession;
|
||||||
import org.eclipse.core.runtime.IStatus;
|
import org.eclipse.core.runtime.IStatus;
|
||||||
import org.eclipse.core.runtime.Status;
|
import org.eclipse.core.runtime.Status;
|
||||||
|
@ -179,20 +177,16 @@ public class GDBRunControl_7_2_NS extends GDBRunControl_7_0_NS
|
||||||
fConnection.queueCommand(fCommandFactory.createMIExecContinue(context), new DataRequestMonitor<MIInfo>(getExecutor(), rm));
|
fConnection.queueCommand(fCommandFactory.createMIExecContinue(context), new DataRequestMonitor<MIInfo>(getExecutor(), rm));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @since 4.1
|
* @since 4.1
|
||||||
*/
|
*/
|
||||||
protected void refreshThreads() {
|
protected void refreshThreads() {
|
||||||
fConnection.queueCommand(
|
fConnection.queueCommand(
|
||||||
fCommandFactory.createMIListThreadGroups(fConnection.getContext(), false, true),
|
fCommandFactory.createMIThreadInfo(fConnection.getContext()),
|
||||||
new DataRequestMonitor<MIListThreadGroupsInfo>(getExecutor(), null) {
|
new DataRequestMonitor<MIThreadInfoInfo>(getExecutor(), null) {
|
||||||
@Override
|
@Override
|
||||||
protected void handleSuccess() {
|
protected void handleSuccess() {
|
||||||
IThreadGroupInfo[] groups = getData().getGroupList();
|
MIThread[] threadList = getData().getThreadList();
|
||||||
for (IThreadGroupInfo group : groups) {
|
|
||||||
if (group instanceof IThreadGroupInfo2) {
|
|
||||||
MIThread[] threadList = ((IThreadGroupInfo2)group).getThreads();
|
|
||||||
for (MIThread thread : threadList) {
|
for (MIThread thread : threadList) {
|
||||||
String threadId = thread.getThreadId();
|
String threadId = thread.getThreadId();
|
||||||
IMIContainerDMContext containerDmc =
|
IMIContainerDMContext containerDmc =
|
||||||
|
@ -227,8 +221,6 @@ public class GDBRunControl_7_2_NS extends GDBRunControl_7_0_NS
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue