mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-04-29 19:45:01 +02:00
Bug 244053 Until this bug is resolved properly, it is better to set the default for breakpoint applicability to global.
This commit is contained in:
parent
39644e1d06
commit
f5c6039248
2 changed files with 46 additions and 0 deletions
|
@ -47,6 +47,7 @@ import org.eclipse.dd.mi.service.command.commands.MIEnvironmentCD;
|
||||||
import org.eclipse.dd.mi.service.command.commands.MIFileExecAndSymbols;
|
import org.eclipse.dd.mi.service.command.commands.MIFileExecAndSymbols;
|
||||||
import org.eclipse.dd.mi.service.command.commands.MIGDBSetArgs;
|
import org.eclipse.dd.mi.service.command.commands.MIGDBSetArgs;
|
||||||
import org.eclipse.dd.mi.service.command.commands.MIGDBSetAutoSolib;
|
import org.eclipse.dd.mi.service.command.commands.MIGDBSetAutoSolib;
|
||||||
|
import org.eclipse.dd.mi.service.command.commands.MIGDBSetBreakpointApply;
|
||||||
import org.eclipse.dd.mi.service.command.commands.MIGDBSetNonStop;
|
import org.eclipse.dd.mi.service.command.commands.MIGDBSetNonStop;
|
||||||
import org.eclipse.dd.mi.service.command.commands.MIGDBSetSolibSearchPath;
|
import org.eclipse.dd.mi.service.command.commands.MIGDBSetSolibSearchPath;
|
||||||
import org.eclipse.dd.mi.service.command.commands.MITargetSelect;
|
import org.eclipse.dd.mi.service.command.commands.MITargetSelect;
|
||||||
|
@ -211,6 +212,22 @@ public class FinalLaunchSequence extends Sequence {
|
||||||
requestMonitor.done();
|
requestMonitor.done();
|
||||||
}
|
}
|
||||||
}},
|
}},
|
||||||
|
/*
|
||||||
|
* Tell GDB to have breakpoint affect all processes being debugged.
|
||||||
|
* The user should actually make this decision. See bug 244053
|
||||||
|
*/
|
||||||
|
new Step() { @Override
|
||||||
|
public void execute(final RequestMonitor requestMonitor) {
|
||||||
|
fCommandControl.queueCommand(
|
||||||
|
// This command will fail for GDBs without multi-process support, and that is ok
|
||||||
|
new MIGDBSetBreakpointApply(fCommandControl.getControlDMContext(), true),
|
||||||
|
new DataRequestMonitor<MIInfo>(getExecutor(), requestMonitor) {
|
||||||
|
@Override
|
||||||
|
protected void handleCompleted() {
|
||||||
|
requestMonitor.done();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}},
|
||||||
/*
|
/*
|
||||||
* Enable non-stop mode if necessary
|
* Enable non-stop mode if necessary
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -0,0 +1,29 @@
|
||||||
|
/*******************************************************************************
|
||||||
|
* Copyright (c) 2008 Ericsson and others.
|
||||||
|
* All rights reserved. This program and the accompanying materials
|
||||||
|
* are made available under the terms of the Eclipse Public License v1.0
|
||||||
|
* which accompanies this distribution, and is available at
|
||||||
|
* http://www.eclipse.org/legal/epl-v10.html
|
||||||
|
*
|
||||||
|
* Contributors:
|
||||||
|
* Ericsson - Initial API and implementation
|
||||||
|
*******************************************************************************/
|
||||||
|
package org.eclipse.dd.mi.service.command.commands;
|
||||||
|
|
||||||
|
import org.eclipse.dd.mi.service.command.MIControlDMContext;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* -gdb-set breakpoint apply [global | process]
|
||||||
|
*
|
||||||
|
* Set breakpoints applicability mode.
|
||||||
|
* global == a breakpoint applies to all processes.
|
||||||
|
* process == a breakpoint applies to a single process.
|
||||||
|
*/
|
||||||
|
public class MIGDBSetBreakpointApply extends MIGDBSet
|
||||||
|
{
|
||||||
|
public MIGDBSetBreakpointApply(MIControlDMContext ctx, boolean global) {
|
||||||
|
super(ctx, new String[] {"breakpoint", "apply", global ? "global" : "process"});//$NON-NLS-1$//$NON-NLS-2$//$NON-NLS-3$ //$NON-NLS-4$
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue