mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-08-11 02:05:39 +02:00
Bug 367788: Use the new 'set python print-stack' command.
This commit is contained in:
parent
63546f3ccf
commit
f6d3c6295b
3 changed files with 52 additions and 10 deletions
|
@ -10,30 +10,31 @@
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.eclipse.cdt.dsf.gdb.service.command;
|
package org.eclipse.cdt.dsf.gdb.service.command;
|
||||||
|
|
||||||
|
import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor;
|
||||||
import org.eclipse.cdt.dsf.concurrent.RequestMonitor;
|
import org.eclipse.cdt.dsf.concurrent.RequestMonitor;
|
||||||
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.service.DsfSession;
|
import org.eclipse.cdt.dsf.service.DsfSession;
|
||||||
import org.eclipse.debug.core.ILaunchConfiguration;
|
import org.eclipse.debug.core.ILaunchConfiguration;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* With GDB 7.4, the command 'maintenance set python print-stack' is not supported.
|
* 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 new command "set python print-stack none|full|message" has replaced it.
|
||||||
* the default being 'message'. With this new default
|
|
||||||
* @since 4.1
|
* @since 4.1
|
||||||
*/
|
*/
|
||||||
public class GDBControl_7_4 extends GDBControl_7_2 implements IGDBControl {
|
public class GDBControl_7_4 extends GDBControl_7_2 implements IGDBControl {
|
||||||
public GDBControl_7_4(DsfSession session, ILaunchConfiguration config, CommandFactory factory) {
|
public GDBControl_7_4(DsfSession session, ILaunchConfiguration config, CommandFactory factory) {
|
||||||
super(session, config, factory);
|
super(session, config, factory);
|
||||||
setUseThreadGroupOptions(true);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setPrintPythonErrors(boolean enabled, RequestMonitor rm) {
|
public void setPrintPythonErrors(boolean enabled, RequestMonitor rm) {
|
||||||
// With GDB 7.4, the command 'maintenance set python print-stack' is not supported.
|
// With GDB 7.4, the command 'maintenance set python print-stack' has been replaced by
|
||||||
// The new command "set python print-stack none|full|message" has replaced it, with
|
// the new command "set python print-stack none|full|message".
|
||||||
// the default being 'message'. This new default is good enough for us, so no
|
|
||||||
// need to do anything anymore.
|
|
||||||
// Bug 367788
|
// Bug 367788
|
||||||
rm.done();
|
String errorOption = enabled ? "full" : "none"; //$NON-NLS-1$ //$NON-NLS-2$
|
||||||
|
queueCommand(
|
||||||
|
getCommandFactory().createMIGDBSetPythonPrintStack(getContext(), errorOption),
|
||||||
|
new DataRequestMonitor<MIInfo>(getExecutor(), rm));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*******************************************************************************
|
/*******************************************************************************
|
||||||
* Copyright (c) 2000, 2011 QNX Software Systems and others.
|
* Copyright (c) 2000, 2012 QNX Software Systems 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
|
||||||
|
@ -15,6 +15,7 @@
|
||||||
* Onur Akdemir (TUBITAK BILGEM-ITI) - Multi-process debugging (Bug 237306)
|
* Onur Akdemir (TUBITAK BILGEM-ITI) - Multi-process debugging (Bug 237306)
|
||||||
* Abeer Bagul - Support for -exec-arguments (bug 337687)
|
* Abeer Bagul - Support for -exec-arguments (bug 337687)
|
||||||
* Marc Khouzam (Ericsson) - New methods for new MIDataDisassemble (Bug 357073)
|
* Marc Khouzam (Ericsson) - New methods for new MIDataDisassemble (Bug 357073)
|
||||||
|
* Marc Khouzam (Ericsson) - New method for new MIGDBSetPythonPrintStack (Bug 367788)
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
|
|
||||||
package org.eclipse.cdt.dsf.mi.service.command;
|
package org.eclipse.cdt.dsf.mi.service.command;
|
||||||
|
@ -101,6 +102,7 @@ import org.eclipse.cdt.dsf.mi.service.command.commands.MIGDBSetDetachOnFork;
|
||||||
import org.eclipse.cdt.dsf.mi.service.command.commands.MIGDBSetEnv;
|
import org.eclipse.cdt.dsf.mi.service.command.commands.MIGDBSetEnv;
|
||||||
import org.eclipse.cdt.dsf.mi.service.command.commands.MIGDBSetNonStop;
|
import org.eclipse.cdt.dsf.mi.service.command.commands.MIGDBSetNonStop;
|
||||||
import org.eclipse.cdt.dsf.mi.service.command.commands.MIGDBSetPagination;
|
import org.eclipse.cdt.dsf.mi.service.command.commands.MIGDBSetPagination;
|
||||||
|
import org.eclipse.cdt.dsf.mi.service.command.commands.MIGDBSetPythonPrintStack;
|
||||||
import org.eclipse.cdt.dsf.mi.service.command.commands.MIGDBSetSchedulerLocking;
|
import org.eclipse.cdt.dsf.mi.service.command.commands.MIGDBSetSchedulerLocking;
|
||||||
import org.eclipse.cdt.dsf.mi.service.command.commands.MIGDBSetSolibAbsolutePrefix;
|
import org.eclipse.cdt.dsf.mi.service.command.commands.MIGDBSetSolibAbsolutePrefix;
|
||||||
import org.eclipse.cdt.dsf.mi.service.command.commands.MIGDBSetSolibSearchPath;
|
import org.eclipse.cdt.dsf.mi.service.command.commands.MIGDBSetSolibSearchPath;
|
||||||
|
@ -631,6 +633,11 @@ public class CommandFactory {
|
||||||
return new MIGDBSetPagination(ctx, isSet);
|
return new MIGDBSetPagination(ctx, isSet);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** @since 4.1 */
|
||||||
|
public ICommand<MIInfo> createMIGDBSetPythonPrintStack(ICommandControlDMContext ctx, String option) {
|
||||||
|
return new MIGDBSetPythonPrintStack(ctx, option);
|
||||||
|
}
|
||||||
|
|
||||||
/** @since 4.1 */
|
/** @since 4.1 */
|
||||||
public ICommand<MIInfo> createMIGDBSetSchedulerLocking(ICommandControlDMContext ctx, String mode) {
|
public ICommand<MIInfo> createMIGDBSetSchedulerLocking(ICommandControlDMContext ctx, String mode) {
|
||||||
return new MIGDBSetSchedulerLocking(ctx, mode);
|
return new MIGDBSetSchedulerLocking(ctx, mode);
|
||||||
|
|
|
@ -0,0 +1,34 @@
|
||||||
|
/*******************************************************************************
|
||||||
|
* 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.mi.service.command.commands;
|
||||||
|
|
||||||
|
import org.eclipse.cdt.dsf.debug.service.command.ICommandControlService.ICommandControlDMContext;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* -gdb-set python print-stack [ none | message | full ]
|
||||||
|
*
|
||||||
|
* By default, gdb will print only the message component of a Python exception when an error occurs
|
||||||
|
* in a Python script. This can be controlled using set python print-stack: if full, then full Python
|
||||||
|
* stack printing is enabled; if none, then Python stack and message printing is disabled; if message,
|
||||||
|
* the default, only the message component of the error is printed.
|
||||||
|
*
|
||||||
|
* Available with GDB 7.4
|
||||||
|
*
|
||||||
|
* @since 4.1
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public class MIGDBSetPythonPrintStack extends MIGDBSet
|
||||||
|
{
|
||||||
|
public MIGDBSetPythonPrintStack(ICommandControlDMContext ctx, String option) {
|
||||||
|
super(ctx, new String[] {"python", "print-stack", option}); //$NON-NLS-1$//$NON-NLS-2$
|
||||||
|
}
|
||||||
|
}
|
Loading…
Add table
Reference in a new issue