mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-04-23 14:42:11 +02:00
Bug 370462: Improving the debug preferences - add support for different charsets and unify DSF and CDI debug preferences. Update to DSF-GDB to avoid API change.
This commit is contained in:
parent
c61ae8a137
commit
23a8adbdb7
12 changed files with 151 additions and 90 deletions
|
@ -17,6 +17,7 @@ import java.nio.charset.Charset;
|
||||||
import org.eclipse.cdt.debug.core.CDebugCorePlugin;
|
import org.eclipse.cdt.debug.core.CDebugCorePlugin;
|
||||||
import org.eclipse.cdt.debug.core.ICDebugConstants;
|
import org.eclipse.cdt.debug.core.ICDebugConstants;
|
||||||
import org.eclipse.cdt.debug.core.cdi.ICDIFormat;
|
import org.eclipse.cdt.debug.core.cdi.ICDIFormat;
|
||||||
|
import org.eclipse.core.runtime.Platform;
|
||||||
import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
|
import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -41,7 +42,7 @@ public class CDebugCorePreferenceInitializer extends AbstractPreferenceInitializ
|
||||||
CDebugCorePlugin.getDefault().getPluginPreferences().setDefault( ICDebugConstants.PREF_DEFAULT_EXPRESSION_FORMAT, ICDIFormat.NATURAL );
|
CDebugCorePlugin.getDefault().getPluginPreferences().setDefault( ICDebugConstants.PREF_DEFAULT_EXPRESSION_FORMAT, ICDIFormat.NATURAL );
|
||||||
CDebugCorePlugin.getDefault().getPluginPreferences().setDefault( ICDebugConstants.PREF_DEFAULT_REGISTER_FORMAT, ICDIFormat.NATURAL );
|
CDebugCorePlugin.getDefault().getPluginPreferences().setDefault( ICDebugConstants.PREF_DEFAULT_REGISTER_FORMAT, ICDIFormat.NATURAL );
|
||||||
CDebugCorePlugin.getDefault().getPluginPreferences().setDefault( ICDebugConstants.PREF_CHARSET, Charset.defaultCharset().name() );
|
CDebugCorePlugin.getDefault().getPluginPreferences().setDefault( ICDebugConstants.PREF_CHARSET, Charset.defaultCharset().name() );
|
||||||
if (System.getProperty("os.name").toLowerCase().startsWith("windows")) //$NON-NLS-1$ //$NON-NLS-2$
|
if (Platform.getOS().equals(Platform.OS_WIN32))
|
||||||
CDebugCorePlugin.getDefault().getPluginPreferences().setDefault( ICDebugConstants.PREF_WIDE_CHARSET, "UTF-16"); //$NON-NLS-1$
|
CDebugCorePlugin.getDefault().getPluginPreferences().setDefault( ICDebugConstants.PREF_WIDE_CHARSET, "UTF-16"); //$NON-NLS-1$
|
||||||
else
|
else
|
||||||
CDebugCorePlugin.getDefault().getPluginPreferences().setDefault( ICDebugConstants.PREF_WIDE_CHARSET, "UTF-32"); //$NON-NLS-1$
|
CDebugCorePlugin.getDefault().getPluginPreferences().setDefault( ICDebugConstants.PREF_WIDE_CHARSET, "UTF-32"); //$NON-NLS-1$
|
||||||
|
|
|
@ -19,10 +19,8 @@ package org.eclipse.cdt.dsf.gdb.launching;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import org.eclipse.cdt.debug.core.CDebugCorePlugin;
|
|
||||||
import org.eclipse.cdt.debug.core.CDebugUtils;
|
import org.eclipse.cdt.debug.core.CDebugUtils;
|
||||||
import org.eclipse.cdt.debug.core.ICDTLaunchConfigurationConstants;
|
import org.eclipse.cdt.debug.core.ICDTLaunchConfigurationConstants;
|
||||||
import org.eclipse.cdt.debug.core.ICDebugConstants;
|
|
||||||
import org.eclipse.cdt.debug.internal.core.sourcelookup.CSourceLookupDirector;
|
import org.eclipse.cdt.debug.internal.core.sourcelookup.CSourceLookupDirector;
|
||||||
import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor;
|
import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor;
|
||||||
import org.eclipse.cdt.dsf.concurrent.ImmediateDataRequestMonitor;
|
import org.eclipse.cdt.dsf.concurrent.ImmediateDataRequestMonitor;
|
||||||
|
@ -219,13 +217,33 @@ public class FinalLaunchSequence extends ReflectionSequence {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set the charsets.
|
* Set the charsets.
|
||||||
* @since 4.0
|
* @since 4.1
|
||||||
*/
|
*/
|
||||||
@Execute
|
@Execute
|
||||||
public void stepSetCharset(final RequestMonitor requestMonitor) {
|
public void stepSetCharset(final RequestMonitor requestMonitor) {
|
||||||
String charset = CDebugCorePlugin.getDefault().getPluginPreferences().getString(ICDebugConstants.PREF_CHARSET);
|
// Enable printing of sevenbit-strings. This is required to avoid charset issues.
|
||||||
String wideCharset = CDebugCorePlugin.getDefault().getPluginPreferences().getString(ICDebugConstants.PREF_WIDE_CHARSET);
|
// See bug 307311 for details.
|
||||||
fCommandControl.setCharsets(charset, wideCharset, requestMonitor);
|
fCommandControl.queueCommand(
|
||||||
|
fCommandFactory.createMIGDBSetPrintSevenbitStrings(fCommandControl.getContext(), true),
|
||||||
|
new ImmediateDataRequestMonitor<MIInfo>(requestMonitor) {
|
||||||
|
@Override
|
||||||
|
protected void handleCompleted() {
|
||||||
|
// Set the charset to ISO-8859-1. We have to do this here because GDB earlier than
|
||||||
|
// 7.0 has no proper Unicode support. Note that we can still handle UTF-8 though, as
|
||||||
|
// we can determine and decode UTF-8 encoded strings on our own. This makes ISO-8859-1
|
||||||
|
// the most suitable option here. See the MIStringHandler class and bug 307311 for
|
||||||
|
// details.
|
||||||
|
fCommandControl.queueCommand(
|
||||||
|
fCommandFactory.createMIGDBSetCharset(fCommandControl.getContext(), "ISO-8859-1"), //$NON-NLS-1$
|
||||||
|
new ImmediateDataRequestMonitor<MIInfo>(requestMonitor) {
|
||||||
|
@Override
|
||||||
|
protected void handleCompleted() {
|
||||||
|
// Not an essential command, so accept errors
|
||||||
|
requestMonitor.done();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*******************************************************************************
|
/*******************************************************************************
|
||||||
* Copyright (c) 2011 Ericsson and others.
|
* Copyright (c) 2011, 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
|
||||||
|
@ -7,17 +7,30 @@
|
||||||
*
|
*
|
||||||
* Contributors:
|
* Contributors:
|
||||||
* Marc Khouzam (Ericsson) - initial API and implementation (Bug 365471)
|
* Marc Khouzam (Ericsson) - initial API and implementation (Bug 365471)
|
||||||
|
* Marc Khouzam (Ericsson) - Support for different charsets (bug 370462)
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.eclipse.cdt.dsf.gdb.launching;
|
package org.eclipse.cdt.dsf.gdb.launching;
|
||||||
|
|
||||||
|
import java.nio.charset.Charset;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
import org.eclipse.cdt.debug.core.CDebugCorePlugin;
|
||||||
|
import org.eclipse.cdt.debug.core.ICDebugConstants;
|
||||||
|
import org.eclipse.cdt.dsf.concurrent.ImmediateDataRequestMonitor;
|
||||||
import org.eclipse.cdt.dsf.concurrent.RequestMonitor;
|
import org.eclipse.cdt.dsf.concurrent.RequestMonitor;
|
||||||
import org.eclipse.cdt.dsf.concurrent.RequestMonitorWithProgress;
|
import org.eclipse.cdt.dsf.concurrent.RequestMonitorWithProgress;
|
||||||
|
import org.eclipse.cdt.dsf.gdb.internal.GdbPlugin;
|
||||||
|
import org.eclipse.cdt.dsf.gdb.service.command.IGDBControl;
|
||||||
|
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.DsfServicesTracker;
|
||||||
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.Platform;
|
||||||
|
import org.eclipse.core.runtime.Status;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Subclass for GDB >= 7.0.
|
* Subclass for GDB >= 7.0.
|
||||||
|
@ -28,8 +41,14 @@ import org.eclipse.cdt.dsf.service.DsfSession;
|
||||||
*/
|
*/
|
||||||
public class FinalLaunchSequence_7_0 extends FinalLaunchSequence {
|
public class FinalLaunchSequence_7_0 extends FinalLaunchSequence {
|
||||||
|
|
||||||
|
private IGDBControl fCommandControl;
|
||||||
|
private CommandFactory fCommandFactory;
|
||||||
|
private DsfServicesTracker fTracker;
|
||||||
|
private DsfSession fSession;
|
||||||
|
|
||||||
public FinalLaunchSequence_7_0(DsfSession session, Map<String, Object> attributes, RequestMonitorWithProgress rm) {
|
public FinalLaunchSequence_7_0(DsfSession session, Map<String, Object> attributes, RequestMonitorWithProgress rm) {
|
||||||
super(session, attributes, rm);
|
super(session, attributes, rm);
|
||||||
|
fSession = session;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -57,6 +76,87 @@ public class FinalLaunchSequence_7_0 extends FinalLaunchSequence {
|
||||||
*/
|
*/
|
||||||
@Execute
|
@Execute
|
||||||
public void stepInitializeFinalLaunchSequence_7_0(RequestMonitor rm) {
|
public void stepInitializeFinalLaunchSequence_7_0(RequestMonitor rm) {
|
||||||
|
fTracker = new DsfServicesTracker(GdbPlugin.getBundleContext(), fSession.getId());
|
||||||
|
|
||||||
|
fCommandControl = fTracker.getService(IGDBControl.class);
|
||||||
|
if (fCommandControl == null) {
|
||||||
|
rm.setStatus(new Status(IStatus.ERROR, GdbPlugin.PLUGIN_ID, -1, "Cannot obtain control service", null)); //$NON-NLS-1$
|
||||||
|
rm.done();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
fCommandFactory = fCommandControl.getCommandFactory();
|
||||||
|
|
||||||
rm.done();
|
rm.done();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Rollback method for {@link #stepInitializeFinalLaunchSequence_7_0()}
|
||||||
|
* @since 4.0
|
||||||
|
*/
|
||||||
|
@RollBack("stepInitializeFinalLaunchSequence_7_0")
|
||||||
|
public void rollBackInitializeFinalLaunchSequence_7_0(RequestMonitor rm) {
|
||||||
|
if (fTracker != null) fTracker.dispose();
|
||||||
|
fTracker = null;
|
||||||
|
rm.done();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@Execute
|
||||||
|
public void stepSetCharset(final RequestMonitor rm) {
|
||||||
|
// Enable printing of sevenbit-strings. This is required to avoid charset issues.
|
||||||
|
// See bug 307311 for details.
|
||||||
|
fCommandControl.queueCommand(
|
||||||
|
fCommandFactory.createMIGDBSetPrintSevenbitStrings(fCommandControl.getContext(), true),
|
||||||
|
new ImmediateDataRequestMonitor<MIInfo>(rm) {
|
||||||
|
@Override
|
||||||
|
protected void handleCompleted() {
|
||||||
|
// Set the host charset to UTF-8. This ensures that we can correctly handle different
|
||||||
|
// charsets used by the inferior program.
|
||||||
|
fCommandControl.queueCommand(
|
||||||
|
fCommandFactory.createMIGDBSetHostCharset(fCommandControl.getContext(), "UTF-8"), //$NON-NLS-1$
|
||||||
|
new ImmediateDataRequestMonitor<MIInfo>(rm) {
|
||||||
|
@Override
|
||||||
|
protected void handleCompleted() {
|
||||||
|
// Set the target charset. The target charset is the charset used by the char type of
|
||||||
|
// the inferior program. Note that GDB only accepts upper case charset names.
|
||||||
|
String charset =
|
||||||
|
Platform.getPreferencesService().getString(CDebugCorePlugin.PLUGIN_ID,
|
||||||
|
ICDebugConstants.PREF_CHARSET,
|
||||||
|
Charset.defaultCharset().name(),
|
||||||
|
null);
|
||||||
|
fCommandControl.queueCommand(
|
||||||
|
fCommandFactory.createMIGDBSetTargetCharset(fCommandControl.getContext(), charset.toUpperCase()),
|
||||||
|
new ImmediateDataRequestMonitor<MIInfo>(rm) {
|
||||||
|
@Override
|
||||||
|
protected void handleCompleted() {
|
||||||
|
// Set the target wide charset. The target wide charset is the charset used by the wchar_t
|
||||||
|
// type of the inferior program. Note that GDB only accepts upper case charset names.
|
||||||
|
String defaultWideCharset = "UTF-32"; //$NON-NLS-1$
|
||||||
|
if (Platform.getOS().equals(Platform.OS_WIN32)) {
|
||||||
|
defaultWideCharset = "UTF-16"; //$NON-NLS-1$
|
||||||
|
}
|
||||||
|
|
||||||
|
String wideCharset =
|
||||||
|
Platform.getPreferencesService().getString(CDebugCorePlugin.PLUGIN_ID,
|
||||||
|
ICDebugConstants.PREF_WIDE_CHARSET,
|
||||||
|
defaultWideCharset,
|
||||||
|
null);
|
||||||
|
|
||||||
|
fCommandControl.queueCommand(
|
||||||
|
fCommandFactory.createMIGDBSetTargetWideCharset(fCommandControl.getContext(), wideCharset.toUpperCase()),
|
||||||
|
new ImmediateDataRequestMonitor<MIInfo>(rm) {
|
||||||
|
@Override
|
||||||
|
protected void handleCompleted() {
|
||||||
|
// Not an essential command, so accept errors
|
||||||
|
rm.done();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,7 +13,6 @@
|
||||||
* Jens Elmenthaler (Verigy) - Added Full GDB pretty-printing support (bug 302121)
|
* Jens Elmenthaler (Verigy) - Added Full GDB pretty-printing support (bug 302121)
|
||||||
* Mikhail Khodjaiants (Mentor Graphics) - Refactor common code in GDBControl* classes (bug 372795)
|
* Mikhail Khodjaiants (Mentor Graphics) - Refactor common code in GDBControl* classes (bug 372795)
|
||||||
* Marc Khouzam (Ericsson) - Pass errorStream to startCommandProcessing() (Bug 350837)
|
* Marc Khouzam (Ericsson) - Pass errorStream to startCommandProcessing() (Bug 350837)
|
||||||
* Mathias Kunter - Support for different charsets (bug 370462)
|
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.eclipse.cdt.dsf.gdb.service.command;
|
package org.eclipse.cdt.dsf.gdb.service.command;
|
||||||
|
|
||||||
|
@ -463,30 +462,6 @@ public class GDBControl extends AbstractMIControl implements IGDBControl {
|
||||||
rm.done();
|
rm.done();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Sets the charsets.
|
|
||||||
* @param charset This parameter is ignored. GDB 7.0 or later required.
|
|
||||||
* @param wideCharset This parameter is ignored. GDB 7.0 or later required.
|
|
||||||
* @param rm
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public void setCharsets(String charset, String wideCharset, RequestMonitor rm) {
|
|
||||||
// Enable printing of sevenbit-strings. This is required to avoid charset issues.
|
|
||||||
// See bug 307311 for details.
|
|
||||||
queueCommand(
|
|
||||||
getCommandFactory().createMIGDBSetPrintSevenbitStrings(fControlDmc, true),
|
|
||||||
new DataRequestMonitor<MIInfo>(getExecutor(), rm));
|
|
||||||
|
|
||||||
// Set the charset to ISO-8859-1. We have to do this here because GDB earlier than
|
|
||||||
// 7.0 has no proper Unicode support. Note that we can still handle UTF-8 though, as
|
|
||||||
// we can determine and decode UTF-8 encoded strings on our own. This makes ISO-8859-1
|
|
||||||
// the most suitable option here. See the MIStringHandler class and bug 307311 for
|
|
||||||
// details.
|
|
||||||
queueCommand(
|
|
||||||
getCommandFactory().createMIGDBSetCharset(fControlDmc, "ISO-8859-1"), //$NON-NLS-1$
|
|
||||||
new DataRequestMonitor<MIInfo>(getExecutor(), rm));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @since 4.0
|
* @since 4.0
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -13,7 +13,6 @@
|
||||||
* Jens Elmenthaler (Verigy) - Added Full GDB pretty-printing support (bug 302121)
|
* Jens Elmenthaler (Verigy) - Added Full GDB pretty-printing support (bug 302121)
|
||||||
* Marc Khouzam (Ericsson) - Call new FinalLaunchSequence_7_0 (Bug 365471)
|
* Marc Khouzam (Ericsson) - Call new FinalLaunchSequence_7_0 (Bug 365471)
|
||||||
* Mikhail Khodjaiants (Mentor Graphics) - Refactor common code in GDBControl* classes (bug 372795)
|
* Mikhail Khodjaiants (Mentor Graphics) - Refactor common code in GDBControl* classes (bug 372795)
|
||||||
* Mathias Kunter - Support for different charsets (bug 370462)
|
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.eclipse.cdt.dsf.gdb.service.command;
|
package org.eclipse.cdt.dsf.gdb.service.command;
|
||||||
|
|
||||||
|
@ -238,33 +237,6 @@ public class GDBControl_7_0 extends GDBControl {
|
||||||
new DataRequestMonitor<MIInfo>(getExecutor(), rm));
|
new DataRequestMonitor<MIInfo>(getExecutor(), rm));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void setCharsets(String charset, String wideCharset, RequestMonitor rm) {
|
|
||||||
// Enable printing of sevenbit-strings. This is required to avoid charset issues.
|
|
||||||
// See bug 307311 for details.
|
|
||||||
queueCommand(
|
|
||||||
getCommandFactory().createMIGDBSetPrintSevenbitStrings(getControlDMContext(), true),
|
|
||||||
new DataRequestMonitor<MIInfo>(getExecutor(), rm));
|
|
||||||
|
|
||||||
// Set the host charset to UTF-8. This ensures that we can correctly handle different
|
|
||||||
// charsets used by the inferior program.
|
|
||||||
queueCommand(
|
|
||||||
getCommandFactory().createMIGDBSetHostCharset(getControlDMContext(), "UTF-8"), //$NON-NLS-1$
|
|
||||||
new DataRequestMonitor<MIInfo>(getExecutor(), rm));
|
|
||||||
|
|
||||||
// Set the target charset. The target charset is the charset used by the char type of
|
|
||||||
// the inferior program. Note that GDB only accepts upper case charset names.
|
|
||||||
queueCommand(
|
|
||||||
getCommandFactory().createMIGDBSetTargetCharset(getControlDMContext(), charset.toUpperCase()),
|
|
||||||
new DataRequestMonitor<MIInfo>(getExecutor(), rm));
|
|
||||||
|
|
||||||
// Set the target wide charset. The target wide charset is the charset used by the wchar_t
|
|
||||||
// type of the inferior program. Note that GDB only accepts upper case charset names.
|
|
||||||
queueCommand(
|
|
||||||
getCommandFactory().createMIGDBSetTargetWideCharset(getControlDMContext(), wideCharset.toUpperCase()),
|
|
||||||
new DataRequestMonitor<MIInfo>(getExecutor(), rm));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @since 4.0
|
* @since 4.0
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*******************************************************************************
|
/*******************************************************************************
|
||||||
* Copyright (c) 2008, 2012 Ericsson and others.
|
* Copyright (c) 2008, 2011 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 License v1.0
|
* are made available under the terms of the Eclipse License v1.0
|
||||||
* which accompanies this distribution, and is available at
|
* which accompanies this distribution, and is available at
|
||||||
|
@ -9,7 +9,6 @@
|
||||||
* Ericsson - initial API and implementation
|
* Ericsson - initial API and implementation
|
||||||
* Vladimir Prus (CodeSourcery) - Support for -data-read-memory-bytes (bug 322658)
|
* Vladimir Prus (CodeSourcery) - Support for -data-read-memory-bytes (bug 322658)
|
||||||
* Jens Elmenthaler (Verigy) - Added Full GDB pretty-printing support (bug 302121)
|
* Jens Elmenthaler (Verigy) - Added Full GDB pretty-printing support (bug 302121)
|
||||||
* Mathias Kunter - Support for different charsets (bug 370462)
|
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.eclipse.cdt.dsf.gdb.service.command;
|
package org.eclipse.cdt.dsf.gdb.service.command;
|
||||||
|
|
||||||
|
@ -93,12 +92,4 @@ public interface IGDBControl extends IMICommandControl {
|
||||||
* @since 4.0
|
* @since 4.0
|
||||||
*/
|
*/
|
||||||
void setPrintPythonErrors(boolean enabled, RequestMonitor rm);
|
void setPrintPythonErrors(boolean enabled, RequestMonitor rm);
|
||||||
|
|
||||||
/**
|
|
||||||
* Sets the charsets.
|
|
||||||
* @param charset The charset used by the char type of the inferior program.
|
|
||||||
* @param wideCharset The charset used by the wchar_t type of the inferior program.
|
|
||||||
* @param rm
|
|
||||||
*/
|
|
||||||
void setCharsets(String charset, String wideCharset, RequestMonitor rm);
|
|
||||||
}
|
}
|
|
@ -618,6 +618,11 @@ public class CommandFactory {
|
||||||
return new MIGDBSetBreakpointPending(ctx, enable);
|
return new MIGDBSetBreakpointPending(ctx, enable);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** @since 4.1 */
|
||||||
|
public ICommand<MIInfo> createMIGDBSetCharset(ICommandControlDMContext ctx, String charset) {
|
||||||
|
return new MIGDBSetCharset(ctx, charset);
|
||||||
|
}
|
||||||
|
|
||||||
/** @since 4.0 */
|
/** @since 4.0 */
|
||||||
public ICommand<MIInfo> createMIGDBSetDetachOnFork(ICommandControlDMContext ctx, boolean detach) {
|
public ICommand<MIInfo> createMIGDBSetDetachOnFork(ICommandControlDMContext ctx, boolean detach) {
|
||||||
return new MIGDBSetDetachOnFork(ctx, detach);
|
return new MIGDBSetDetachOnFork(ctx, detach);
|
||||||
|
@ -631,6 +636,11 @@ public class CommandFactory {
|
||||||
return new MIGDBSetEnv(dmc, name, value);
|
return new MIGDBSetEnv(dmc, name, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** @since 4.1 */
|
||||||
|
public ICommand<MIInfo> createMIGDBSetHostCharset(ICommandControlDMContext ctx, String hostCharset) {
|
||||||
|
return new MIGDBSetHostCharset(ctx, hostCharset);
|
||||||
|
}
|
||||||
|
|
||||||
public ICommand<MIInfo> createMIGDBSetNonStop(ICommandControlDMContext ctx, boolean isSet) {
|
public ICommand<MIInfo> createMIGDBSetNonStop(ICommandControlDMContext ctx, boolean isSet) {
|
||||||
return new MIGDBSetNonStop(ctx, isSet);
|
return new MIGDBSetNonStop(ctx, isSet);
|
||||||
}
|
}
|
||||||
|
@ -639,6 +649,11 @@ public class CommandFactory {
|
||||||
return new MIGDBSetPagination(ctx, isSet);
|
return new MIGDBSetPagination(ctx, isSet);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** @since 4.1 */
|
||||||
|
public ICommand<MIInfo> createMIGDBSetPrintSevenbitStrings(ICommandControlDMContext ctx, boolean enable) {
|
||||||
|
return new MIGDBSetPrintSevenbitStrings(ctx, enable);
|
||||||
|
}
|
||||||
|
|
||||||
/** @since 4.1 */
|
/** @since 4.1 */
|
||||||
public ICommand<MIInfo> createMIGDBSetPythonPrintStack(ICommandControlDMContext ctx, String option) {
|
public ICommand<MIInfo> createMIGDBSetPythonPrintStack(ICommandControlDMContext ctx, String option) {
|
||||||
return new MIGDBSetPythonPrintStack(ctx, option);
|
return new MIGDBSetPythonPrintStack(ctx, option);
|
||||||
|
@ -647,25 +662,14 @@ public class CommandFactory {
|
||||||
/** @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);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @since 4.0 */
|
/** @since 4.1 */
|
||||||
public ICommand<MIInfo> createMIGDBSetPrintSevenbitStrings(ICommandControlDMContext ctx, boolean enable) {
|
|
||||||
return new MIGDBSetPrintSevenbitStrings(ctx, enable);
|
|
||||||
}
|
|
||||||
|
|
||||||
public ICommand<MIInfo> createMIGDBSetCharset(ICommandControlDMContext ctx, String charset) {
|
|
||||||
return new MIGDBSetCharset(ctx, charset);
|
|
||||||
}
|
|
||||||
|
|
||||||
public ICommand<MIInfo> createMIGDBSetHostCharset(ICommandControlDMContext ctx, String hostCharset) {
|
|
||||||
return new MIGDBSetHostCharset(ctx, hostCharset);
|
|
||||||
}
|
|
||||||
|
|
||||||
public ICommand<MIInfo> createMIGDBSetTargetCharset(ICommandControlDMContext ctx, String targetCharset) {
|
public ICommand<MIInfo> createMIGDBSetTargetCharset(ICommandControlDMContext ctx, String targetCharset) {
|
||||||
return new MIGDBSetTargetCharset(ctx, targetCharset);
|
return new MIGDBSetTargetCharset(ctx, targetCharset);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** @since 4.1 */
|
||||||
public ICommand<MIInfo> createMIGDBSetTargetWideCharset(ICommandControlDMContext ctx, String targetWideCharset) {
|
public ICommand<MIInfo> createMIGDBSetTargetWideCharset(ICommandControlDMContext ctx, String targetWideCharset) {
|
||||||
return new MIGDBSetTargetWideCharset(ctx, targetWideCharset);
|
return new MIGDBSetTargetWideCharset(ctx, targetWideCharset);
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,7 +21,7 @@ import org.eclipse.cdt.dsf.debug.service.command.ICommandControlService.ICommand
|
||||||
* charset used by gdb. The target charset is the charset used by the char type of the
|
* charset used by gdb. The target charset is the charset used by the char type of the
|
||||||
* inferior program.
|
* inferior program.
|
||||||
*
|
*
|
||||||
* @since 4.0
|
* @since 4.1
|
||||||
*/
|
*/
|
||||||
public class MIGDBSetCharset extends MIGDBSet {
|
public class MIGDBSetCharset extends MIGDBSet {
|
||||||
public MIGDBSetCharset(ICommandControlDMContext ctx, String charset) {
|
public MIGDBSetCharset(ICommandControlDMContext ctx, String charset) {
|
||||||
|
|
|
@ -19,7 +19,7 @@ import org.eclipse.cdt.dsf.debug.service.command.ICommandControlService.ICommand
|
||||||
*
|
*
|
||||||
* Sets the current host charset to CHARSET. The host charset is the charset used by gdb.
|
* Sets the current host charset to CHARSET. The host charset is the charset used by gdb.
|
||||||
*
|
*
|
||||||
* @since 4.0
|
* @since 4.1
|
||||||
*/
|
*/
|
||||||
public class MIGDBSetHostCharset extends MIGDBSet {
|
public class MIGDBSetHostCharset extends MIGDBSet {
|
||||||
public MIGDBSetHostCharset(ICommandControlDMContext ctx, String hostCharset) {
|
public MIGDBSetHostCharset(ICommandControlDMContext ctx, String hostCharset) {
|
||||||
|
|
|
@ -20,7 +20,7 @@ import org.eclipse.cdt.dsf.debug.service.command.ICommandControlService.ICommand
|
||||||
* When on, gdb displays any eight-bit characters (in strings or character values) using
|
* When on, gdb displays any eight-bit characters (in strings or character values) using
|
||||||
* the octal escape notation \nnn. When off, prints full eight-bit characters.
|
* the octal escape notation \nnn. When off, prints full eight-bit characters.
|
||||||
*
|
*
|
||||||
* @since 4.0
|
* @since 4.1
|
||||||
*/
|
*/
|
||||||
public class MIGDBSetPrintSevenbitStrings extends MIGDBSet {
|
public class MIGDBSetPrintSevenbitStrings extends MIGDBSet {
|
||||||
public MIGDBSetPrintSevenbitStrings(ICommandControlDMContext ctx, boolean enable) {
|
public MIGDBSetPrintSevenbitStrings(ICommandControlDMContext ctx, boolean enable) {
|
||||||
|
|
|
@ -20,7 +20,7 @@ import org.eclipse.cdt.dsf.debug.service.command.ICommandControlService.ICommand
|
||||||
* Sets the current target charset to CHARSET. The target charset is the charset used
|
* Sets the current target charset to CHARSET. The target charset is the charset used
|
||||||
* by the char type of the inferior program.
|
* by the char type of the inferior program.
|
||||||
*
|
*
|
||||||
* @since 4.0
|
* @since 4.1
|
||||||
*/
|
*/
|
||||||
public class MIGDBSetTargetCharset extends MIGDBSet {
|
public class MIGDBSetTargetCharset extends MIGDBSet {
|
||||||
public MIGDBSetTargetCharset(ICommandControlDMContext ctx, String targetCharset) {
|
public MIGDBSetTargetCharset(ICommandControlDMContext ctx, String targetCharset) {
|
||||||
|
|
|
@ -22,7 +22,7 @@ import org.eclipse.cdt.dsf.debug.service.command.ICommandControlService.ICommand
|
||||||
*
|
*
|
||||||
* Available with gdb 7.0
|
* Available with gdb 7.0
|
||||||
*
|
*
|
||||||
* @since 4.0
|
* @since 4.1
|
||||||
*/
|
*/
|
||||||
public class MIGDBSetTargetWideCharset extends MIGDBSet {
|
public class MIGDBSetTargetWideCharset extends MIGDBSet {
|
||||||
public MIGDBSetTargetWideCharset(ICommandControlDMContext ctx, String targetWideCharset) {
|
public MIGDBSetTargetWideCharset(ICommandControlDMContext ctx, String targetWideCharset) {
|
||||||
|
|
Loading…
Add table
Reference in a new issue