mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-04-29 19:45:01 +02:00
Bug 242105 Turning on non-stop on a remote target requires a slightly different command. Also, GDB pagination must be turned off to avoid blocking during non-stop.
This commit is contained in:
parent
ba200cd3b7
commit
39644e1d06
1 changed files with 21 additions and 7 deletions
|
@ -227,24 +227,38 @@ public class FinalLaunchSequence extends Sequence {
|
||||||
// We really should set it to false when GDB supports it though.
|
// We really should set it to false when GDB supports it though.
|
||||||
// Something to fix later.
|
// Something to fix later.
|
||||||
if (isNonStop) {
|
if (isNonStop) {
|
||||||
// The two raw commands should not be necessary in the official GDB release
|
// The raw commands should not be necessary in the official GDB release
|
||||||
fCommandControl.queueCommand(
|
fCommandControl.queueCommand(
|
||||||
new RawCommand(fCommandControl.getControlDMContext(), "maint set linux-async 1"), //$NON-NLS-1$
|
new RawCommand(fCommandControl.getControlDMContext(), "set breakpoint always-inserted"), //$NON-NLS-1$
|
||||||
new DataRequestMonitor<MIInfo>(getExecutor(), requestMonitor) {
|
new DataRequestMonitor<MIInfo>(getExecutor(), requestMonitor) {
|
||||||
@Override
|
@Override
|
||||||
protected void handleSuccess() {
|
protected void handleSuccess() {
|
||||||
|
String asyncCommandStr;
|
||||||
|
if (fSessionType == SessionType.REMOTE) {
|
||||||
|
asyncCommandStr = "maint set remote-async 1"; //$NON-NLS-1$
|
||||||
|
} else {
|
||||||
|
asyncCommandStr = "maint set linux-async 1"; //$NON-NLS-1$
|
||||||
|
}
|
||||||
|
|
||||||
fCommandControl.queueCommand(
|
fCommandControl.queueCommand(
|
||||||
new RawCommand(fCommandControl.getControlDMContext(), "set breakpoint always-inserted 1"), //$NON-NLS-1$
|
new RawCommand(fCommandControl.getControlDMContext(), asyncCommandStr),
|
||||||
new DataRequestMonitor<MIInfo>(getExecutor(), requestMonitor) {
|
new DataRequestMonitor<MIInfo>(getExecutor(), requestMonitor) {
|
||||||
@Override
|
@Override
|
||||||
protected void handleSuccess() {
|
protected void handleSuccess() {
|
||||||
fCommandControl.queueCommand(
|
fCommandControl.queueCommand(
|
||||||
new MIGDBSetNonStop(fCommandControl.getControlDMContext(), true),
|
new RawCommand(fCommandControl.getControlDMContext(), "set pagination off"), //$NON-NLS-1$
|
||||||
new DataRequestMonitor<MIInfo>(getExecutor(), requestMonitor));
|
new DataRequestMonitor<MIInfo>(getExecutor(), requestMonitor) {
|
||||||
|
@Override
|
||||||
|
protected void handleSuccess() {
|
||||||
|
fCommandControl.queueCommand(
|
||||||
|
new MIGDBSetNonStop(fCommandControl.getControlDMContext(), true),
|
||||||
|
new DataRequestMonitor<MIInfo>(getExecutor(), requestMonitor));
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
requestMonitor.done();
|
requestMonitor.done();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue