Skip to main content
summaryrefslogtreecommitdiffstats
path: root/debug
diff options
context:
space:
mode:
authorJohn Cortell2007-12-12 22:34:53 +0000
committerJohn Cortell2007-12-12 22:34:53 +0000
commitad701b9da6b2762c6a83b29cebd8716deb80c3ab (patch)
tree75c71f4cdb69a4a048e46cf685b5cde7a102081e /debug
parentd5eb584400e9d4cdd823932d72600000ce5bd126 (diff)
downloadorg.eclipse.cdt-ad701b9da6b2762c6a83b29cebd8716deb80c3ab.tar.gz
org.eclipse.cdt-ad701b9da6b2762c6a83b29cebd8716deb80c3ab.tar.xz
org.eclipse.cdt-ad701b9da6b2762c6a83b29cebd8716deb80c3ab.zip
211923. Make the memory space support in gdb/mi optional, via a global pref.
Diffstat (limited to 'debug')
-rw-r--r--debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/model/Target.java9
-rw-r--r--debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/IMIConstants.java14
-rw-r--r--debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/MIPreferenceInitializer.java1
-rw-r--r--debug/org.eclipse.cdt.debug.mi.ui/src/org/eclipse/cdt/debug/mi/internal/ui/preferences/MIPreferencePage.java13
-rw-r--r--debug/org.eclipse.cdt.debug.mi.ui/src/org/eclipse/cdt/debug/mi/internal/ui/preferences/PreferenceMessages.properties1
5 files changed, 34 insertions, 4 deletions
diff --git a/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/model/Target.java b/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/model/Target.java
index 463fd8a9785..db67131ded2 100644
--- a/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/model/Target.java
+++ b/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/model/Target.java
@@ -50,8 +50,10 @@ import org.eclipse.cdt.debug.core.cdi.model.ICDITargetConfiguration;
import org.eclipse.cdt.debug.core.cdi.model.ICDIThread;
import org.eclipse.cdt.debug.core.cdi.model.ICDIWatchpoint;
import org.eclipse.cdt.debug.mi.core.CoreProcess;
+import org.eclipse.cdt.debug.mi.core.IMIConstants;
import org.eclipse.cdt.debug.mi.core.MIException;
import org.eclipse.cdt.debug.mi.core.MIInferior;
+import org.eclipse.cdt.debug.mi.core.MIPlugin;
import org.eclipse.cdt.debug.mi.core.MISession;
import org.eclipse.cdt.debug.mi.core.RxThread;
import org.eclipse.cdt.debug.mi.core.cdi.BreakpointManager;
@@ -1288,6 +1290,11 @@ public class Target extends SessionObject implements ICDITarget, ICDIBreakpointM
}
public String[] getMemorySpaces() {
- return new String[] { CODE_MEMORY_SPACE, DATA_MEMORY_SPACE };
+ if (MIPlugin.getDefault().getPluginPreferences().getBoolean(IMIConstants.PREF_ENABLE_MEMORY_SPACES)) {
+ return new String[] { CODE_MEMORY_SPACE, DATA_MEMORY_SPACE };
+ }
+ else {
+ return new String[0];
+ }
}
}
diff --git a/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/IMIConstants.java b/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/IMIConstants.java
index ffd7ed651eb..a7de1d7daec 100644
--- a/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/IMIConstants.java
+++ b/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/IMIConstants.java
@@ -63,4 +63,18 @@ public interface IMIConstants
* The default value of the for <code>PREF_SHARED_LIBRARIES_AUTO_REFRESH</code> property
*/
public static final boolean DEF_PREF_SHARED_LIBRARIES_AUTO_REFRESH = true;
+
+ /**
+ * Boolean preference controlling whether memory spaces will be supported.
+ * gdb has implicit awareness of two memory spaces: "code" and "data". Most
+ * users don't need that capability, though, and so we expose it in the UI
+ * only if the user turns it on.
+ */
+ public static final String PREF_ENABLE_MEMORY_SPACES = PLUGIN_ID + ".PREF_ENABLE_MEMORY_SPACES"; //$NON-NLS-1$
+
+ /**
+ * The default value of the for <code>PREF_ENABLE_MEMORY_SPACES</code> property
+ */
+ public static final boolean DEF_PREF_ENABLE_MEMORY_SPACES = false;
}
+
diff --git a/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/MIPreferenceInitializer.java b/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/MIPreferenceInitializer.java
index 9ac45d2d385..54ca15a8b27 100644
--- a/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/MIPreferenceInitializer.java
+++ b/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/MIPreferenceInitializer.java
@@ -28,5 +28,6 @@ public class MIPreferenceInitializer extends AbstractPreferenceInitializer {
MIPlugin.getDefault().getPluginPreferences().setDefault(IMIConstants.PREF_REQUEST_TIMEOUT, IMIConstants.DEF_REQUEST_TIMEOUT);
MIPlugin.getDefault().getPluginPreferences().setDefault(IMIConstants.PREF_REQUEST_LAUNCH_TIMEOUT, IMIConstants.DEF_REQUEST_LAUNCH_TIMEOUT);
MIPlugin.getDefault().getPluginPreferences().setDefault(IMIConstants.PREF_SHARED_LIBRARIES_AUTO_REFRESH, IMIConstants.DEF_PREF_SHARED_LIBRARIES_AUTO_REFRESH);
+ MIPlugin.getDefault().getPluginPreferences().setDefault(IMIConstants.PREF_ENABLE_MEMORY_SPACES, IMIConstants.DEF_PREF_ENABLE_MEMORY_SPACES);
}
}
diff --git a/debug/org.eclipse.cdt.debug.mi.ui/src/org/eclipse/cdt/debug/mi/internal/ui/preferences/MIPreferencePage.java b/debug/org.eclipse.cdt.debug.mi.ui/src/org/eclipse/cdt/debug/mi/internal/ui/preferences/MIPreferencePage.java
index d57a4a4c633..355ade608e9 100644
--- a/debug/org.eclipse.cdt.debug.mi.ui/src/org/eclipse/cdt/debug/mi/internal/ui/preferences/MIPreferencePage.java
+++ b/debug/org.eclipse.cdt.debug.mi.ui/src/org/eclipse/cdt/debug/mi/internal/ui/preferences/MIPreferencePage.java
@@ -326,6 +326,8 @@ public class MIPreferencePage extends PreferencePage implements IWorkbenchPrefer
private MIIntegerFieldEditor fLaunchTimeoutText;
private BooleanFieldEditor fRefreshSolibsButton;
+
+ private BooleanFieldEditor fMemorySpacesButton;
private MIPreferenceStore fMICorePreferenceStore = new MIPreferenceStore( MIPlugin.getDefault().getPluginPreferences() );
@@ -358,6 +360,8 @@ public class MIPreferencePage extends PreferencePage implements IWorkbenchPrefer
composite.setLayoutData( data );
createSpacer( composite, 1 );
createCommunicationPreferences( composite );
+ createSpacer( composite, 1 );
+ fMemorySpacesButton = createCheckbox(IMIConstants.PREF_ENABLE_MEMORY_SPACES, PreferenceMessages.getString( "MIPreferencePage.7" ), composite ); //$NON-NLS-1$
return composite;
}
@@ -398,6 +402,7 @@ public class MIPreferencePage extends PreferencePage implements IWorkbenchPrefer
fDebugTimeoutText.loadDefault();
fLaunchTimeoutText.loadDefault();
fRefreshSolibsButton.loadDefault();
+ fMemorySpacesButton.loadDefault();
}
/*
@@ -429,7 +434,7 @@ public class MIPreferencePage extends PreferencePage implements IWorkbenchPrefer
fDebugTimeoutText.setPropertyChangeListener( this );
fLaunchTimeoutText = createTimeoutField( IMIConstants.PREF_REQUEST_LAUNCH_TIMEOUT, PreferenceMessages.getString( "MIPreferencePage.3" ), spacingComposite ); //$NON-NLS-1$
fLaunchTimeoutText.setPropertyChangeListener( this );
- fRefreshSolibsButton = createRefreshField( IMIConstants.PREF_SHARED_LIBRARIES_AUTO_REFRESH, PreferenceMessages.getString( "MIPreferencePage.6" ), spacingComposite ); //$NON-NLS-1$
+ fRefreshSolibsButton = createCheckbox( IMIConstants.PREF_SHARED_LIBRARIES_AUTO_REFRESH, PreferenceMessages.getString( "MIPreferencePage.6" ), spacingComposite ); //$NON-NLS-1$
}
/**
@@ -439,6 +444,7 @@ public class MIPreferencePage extends PreferencePage implements IWorkbenchPrefer
fDebugTimeoutText.store();
fLaunchTimeoutText.store();
fRefreshSolibsButton.store();
+ fMemorySpacesButton.store();
}
private MIIntegerFieldEditor createTimeoutField( String preference, String label, Composite parent ) {
@@ -457,14 +463,14 @@ public class MIPreferencePage extends PreferencePage implements IWorkbenchPrefer
return toText;
}
- private BooleanFieldEditor createRefreshField( String preference, String label, Composite parent ) {
+ private BooleanFieldEditor createCheckbox( String preference, String label, Composite parent ) {
BooleanFieldEditor field = new BooleanFieldEditor( preference, label, parent );
field.setPage( this );
field.setPreferenceStore( new MIPreferenceStore( MIPlugin.getDefault().getPluginPreferences() ) );
field.load();
return field;
}
-
+
protected MIPreferenceStore getMICorePreferenceStore() {
return fMICorePreferenceStore;
}
@@ -476,6 +482,7 @@ public class MIPreferencePage extends PreferencePage implements IWorkbenchPrefer
fDebugTimeoutText.dispose();
fLaunchTimeoutText.dispose();
fRefreshSolibsButton.dispose();
+ fMemorySpacesButton.dispose();
super.dispose();
}
diff --git a/debug/org.eclipse.cdt.debug.mi.ui/src/org/eclipse/cdt/debug/mi/internal/ui/preferences/PreferenceMessages.properties b/debug/org.eclipse.cdt.debug.mi.ui/src/org/eclipse/cdt/debug/mi/internal/ui/preferences/PreferenceMessages.properties
index a9226116464..23166c2555a 100644
--- a/debug/org.eclipse.cdt.debug.mi.ui/src/org/eclipse/cdt/debug/mi/internal/ui/preferences/PreferenceMessages.properties
+++ b/debug/org.eclipse.cdt.debug.mi.ui/src/org/eclipse/cdt/debug/mi/internal/ui/preferences/PreferenceMessages.properties
@@ -16,3 +16,4 @@ MIPreferencePage.2=&Debugger timeout (ms):
MIPreferencePage.3=&Launch timeout (ms):
MIPreferencePage.4=Value must be an integer between {0} and {1}.
MIPreferencePage.6=Automatically refresh modules
+MIPreferencePage.7=Distinct code and data memory spaces

Back to the top