1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-06-07 09:46:02 +02:00

Bug 367788: maint set python print-stack has been removed from GDB 7.4

This commit is contained in:
Marc Khouzam 2012-01-03 16:01:59 -05:00
parent 4edaac8cdd
commit c42f98e333
2 changed files with 50 additions and 2 deletions

View file

@ -1,5 +1,5 @@
/******************************************************************************* /*******************************************************************************
* Copyright (c) 2008, 2011 Ericsson and others. * Copyright (c) 2008, 2012 Ericsson and others.
* All rights reserved. This program and the accompanying materials * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0 * are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at * which accompanies this distribution, and is available at
@ -9,6 +9,7 @@
* Ericsson - initial API and implementation * Ericsson - initial API and implementation
* Nokia - create and use backend service. * Nokia - create and use backend service.
* Onur Akdemir (TUBITAK BILGEM-ITI) - Multi-process debugging (Bug 237306) * Onur Akdemir (TUBITAK BILGEM-ITI) - Multi-process debugging (Bug 237306)
* Marc Khouzam (Ericsson) - Support for GDB 7.4 (Bug 367788)
*******************************************************************************/ *******************************************************************************/
package org.eclipse.cdt.dsf.gdb.service; package org.eclipse.cdt.dsf.gdb.service;
@ -29,6 +30,7 @@ import org.eclipse.cdt.dsf.gdb.service.command.CommandFactory_6_8;
import org.eclipse.cdt.dsf.gdb.service.command.GDBControl; import org.eclipse.cdt.dsf.gdb.service.command.GDBControl;
import org.eclipse.cdt.dsf.gdb.service.command.GDBControl_7_0; import org.eclipse.cdt.dsf.gdb.service.command.GDBControl_7_0;
import org.eclipse.cdt.dsf.gdb.service.command.GDBControl_7_2; import org.eclipse.cdt.dsf.gdb.service.command.GDBControl_7_2;
import org.eclipse.cdt.dsf.gdb.service.command.GDBControl_7_4;
import org.eclipse.cdt.dsf.mi.service.CSourceLookup; import org.eclipse.cdt.dsf.mi.service.CSourceLookup;
import org.eclipse.cdt.dsf.mi.service.IMIBackend; import org.eclipse.cdt.dsf.mi.service.IMIBackend;
import org.eclipse.cdt.dsf.mi.service.MIBreakpoints; import org.eclipse.cdt.dsf.mi.service.MIBreakpoints;
@ -55,7 +57,11 @@ public class GdbDebugServicesFactory extends AbstractDsfDebugServicesFactory {
public static final String GDB_7_2_VERSION = "7.2"; //$NON-NLS-1$ public static final String GDB_7_2_VERSION = "7.2"; //$NON-NLS-1$
/** @since 4.1 */ /** @since 4.1 */
public static final String GDB_7_2_1_VERSION = "7.2.1"; //$NON-NLS-1$ public static final String GDB_7_2_1_VERSION = "7.2.1"; //$NON-NLS-1$
// Keep private until GDB 7.4 is released and we can change the constant
// to its proper value of 7.4
private static final String GDB_7_4_VERSION = "7.3.50"; //$NON-NLS-1$
private final String fVersion; private final String fVersion;
public GdbDebugServicesFactory(String version) { public GdbDebugServicesFactory(String version) {
@ -112,6 +118,9 @@ public class GdbDebugServicesFactory extends AbstractDsfDebugServicesFactory {
} }
protected ICommandControl createCommandControl(DsfSession session, ILaunchConfiguration config) { protected ICommandControl createCommandControl(DsfSession session, ILaunchConfiguration config) {
if (GDB_7_4_VERSION.compareTo(fVersion) <= 0) {
return new GDBControl_7_4(session, config, new CommandFactory_6_8());
}
if (GDB_7_2_VERSION.compareTo(fVersion) <= 0) { if (GDB_7_2_VERSION.compareTo(fVersion) <= 0) {
return new GDBControl_7_2(session, config, new CommandFactory_6_8()); return new GDBControl_7_2(session, config, new CommandFactory_6_8());
} }

View file

@ -0,0 +1,39 @@
/*******************************************************************************
* Copyright (c) 2012 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:
* Marc Khouzam (Ericsson) - initial API and implementation
*******************************************************************************/
package org.eclipse.cdt.dsf.gdb.service.command;
import org.eclipse.cdt.dsf.concurrent.RequestMonitor;
import org.eclipse.cdt.dsf.mi.service.command.CommandFactory;
import org.eclipse.cdt.dsf.service.DsfSession;
import org.eclipse.debug.core.ILaunchConfiguration;
/**
* With GDB 7.4, the command 'maintenance set python print-stack' is not supported.
* The new command "set python print-stack none|full|message" has replaced it, with
* the default being 'message'. With this new default
* @since 4.1
*/
public class GDBControl_7_4 extends GDBControl_7_2 implements IGDBControl {
public GDBControl_7_4(DsfSession session, ILaunchConfiguration config, CommandFactory factory) {
super(session, config, factory);
setUseThreadGroupOptions(true);
}
@Override
public void setPrintPythonErrors(boolean enabled, RequestMonitor rm) {
// With GDB 7.4, the command 'maintenance set python print-stack' is not supported.
// The new command "set python print-stack none|full|message" has replaced it, with
// the default being 'message'. This new default is good enough for us, so no
// need to do anything anymore.
// Bug 367788
rm.done();
}
}