Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/service/StartOrRestartProcessSequence_7_10.java')
-rw-r--r--dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/service/StartOrRestartProcessSequence_7_10.java183
1 files changed, 93 insertions, 90 deletions
diff --git a/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/service/StartOrRestartProcessSequence_7_10.java b/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/service/StartOrRestartProcessSequence_7_10.java
index f1c38f19e82..9e8a4a1ae3c 100644
--- a/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/service/StartOrRestartProcessSequence_7_10.java
+++ b/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/service/StartOrRestartProcessSequence_7_10.java
@@ -40,97 +40,100 @@ import org.eclipse.core.runtime.Status;
*/
public class StartOrRestartProcessSequence_7_10 extends StartOrRestartProcessSequence_7_3 {
- private IGDBControl fCommandControl;
- private IReverseRunControl2 fReverseService;
- private ReverseDebugMethod fReverseMode = ReverseDebugMethod.SOFTWARE;
- private final Map<String, Object> fAttributes;
-
- public StartOrRestartProcessSequence_7_10(DsfExecutor executor, IContainerDMContext containerDmc,
- Map<String, Object> attributes, boolean restart, DataRequestMonitor<IContainerDMContext> rm) {
- super(executor, containerDmc, attributes, restart, rm);
-
- fAttributes = attributes;
- }
-
- @Override
- protected String[] getExecutionOrder(String group) {
- if (GROUP_TOP_LEVEL.equals(group)) {
- // Initialize the list with the base class' steps
- // We need to create a list that we can modify, which is why we create our own ArrayList.
- List<String> orderList = new ArrayList<String>(Arrays.asList(super.getExecutionOrder(GROUP_TOP_LEVEL)));
-
- // Insert the new stepSetReverseMode after stepSetReverseOff
- orderList.add(orderList.indexOf("stepSetReverseOff") + 1, "stepSetReverseMode"); //$NON-NLS-1$ //$NON-NLS-2$
-
- return orderList.toArray(new String[orderList.size()]);
- }
-
- return null;
- }
-
- /**
- * Initialize the members of the StartOrRestartProcessSequence_7_10 class.
- * This step is mandatory for the rest of the sequence to complete.
- */
- @Override
- @Execute
- public void stepInitializeBaseSequence(final RequestMonitor rm) {
- super.stepInitializeBaseSequence(new ImmediateRequestMonitor(rm) {
- @Override
- protected void handleSuccess() {
- DsfServicesTracker tracker = new DsfServicesTracker(GdbPlugin.getBundleContext(), getContainerContext().getSessionId());
- fCommandControl = tracker.getService(IGDBControl.class);
- fReverseService = tracker.getService(IReverseRunControl2.class);
- tracker.dispose();
-
- if (fReverseService != null) {
-
- // Here we check for the reverse mode to be used for launching the reverse
- // debugging service.
- String reverseMode = CDebugUtils.getAttribute(fAttributes,
- IGDBLaunchConfigurationConstants.ATTR_DEBUGGER_REVERSE_MODE,
- IGDBLaunchConfigurationConstants.DEBUGGER_REVERSE_MODE_DEFAULT);
-
- if (reverseMode.equals(IGDBLaunchConfigurationConstants.DEBUGGER_REVERSE_MODE_HARDWARE)) {
- String hwTracePref = Platform.getPreferencesService().getString(GdbPlugin.PLUGIN_ID,
- IGdbDebugPreferenceConstants.PREF_REVERSE_TRACE_METHOD_HARDWARE,
- IGdbDebugPreferenceConstants.PREF_REVERSE_TRACE_METHOD_GDB_TRACE, null);
-
+ private IGDBControl fCommandControl;
+ private IReverseRunControl2 fReverseService;
+ private ReverseDebugMethod fReverseMode = ReverseDebugMethod.SOFTWARE;
+ private final Map<String, Object> fAttributes;
+
+ public StartOrRestartProcessSequence_7_10(DsfExecutor executor, IContainerDMContext containerDmc,
+ Map<String, Object> attributes, boolean restart, DataRequestMonitor<IContainerDMContext> rm) {
+ super(executor, containerDmc, attributes, restart, rm);
+
+ fAttributes = attributes;
+ }
+
+ @Override
+ protected String[] getExecutionOrder(String group) {
+ if (GROUP_TOP_LEVEL.equals(group)) {
+ // Initialize the list with the base class' steps
+ // We need to create a list that we can modify, which is why we create our own ArrayList.
+ List<String> orderList = new ArrayList<String>(Arrays.asList(super.getExecutionOrder(GROUP_TOP_LEVEL)));
+
+ // Insert the new stepSetReverseMode after stepSetReverseOff
+ orderList.add(orderList.indexOf("stepSetReverseOff") + 1, "stepSetReverseMode"); //$NON-NLS-1$ //$NON-NLS-2$
+
+ return orderList.toArray(new String[orderList.size()]);
+ }
+
+ return null;
+ }
+
+ /**
+ * Initialize the members of the StartOrRestartProcessSequence_7_10 class.
+ * This step is mandatory for the rest of the sequence to complete.
+ */
+ @Override
+ @Execute
+ public void stepInitializeBaseSequence(final RequestMonitor rm) {
+ super.stepInitializeBaseSequence(new ImmediateRequestMonitor(rm) {
+ @Override
+ protected void handleSuccess() {
+ DsfServicesTracker tracker = new DsfServicesTracker(GdbPlugin.getBundleContext(),
+ getContainerContext().getSessionId());
+ fCommandControl = tracker.getService(IGDBControl.class);
+ fReverseService = tracker.getService(IReverseRunControl2.class);
+ tracker.dispose();
+
+ if (fReverseService != null) {
+
+ // Here we check for the reverse mode to be used for launching the reverse
+ // debugging service.
+ String reverseMode = CDebugUtils.getAttribute(fAttributes,
+ IGDBLaunchConfigurationConstants.ATTR_DEBUGGER_REVERSE_MODE,
+ IGDBLaunchConfigurationConstants.DEBUGGER_REVERSE_MODE_DEFAULT);
+
+ if (reverseMode.equals(IGDBLaunchConfigurationConstants.DEBUGGER_REVERSE_MODE_HARDWARE)) {
+ String hwTracePref = Platform.getPreferencesService().getString(GdbPlugin.PLUGIN_ID,
+ IGdbDebugPreferenceConstants.PREF_REVERSE_TRACE_METHOD_HARDWARE,
+ IGdbDebugPreferenceConstants.PREF_REVERSE_TRACE_METHOD_GDB_TRACE, null);
+
if (hwTracePref.equals(IGdbDebugPreferenceConstants.PREF_REVERSE_TRACE_METHOD_BRANCH_TRACE)) {
- fReverseMode = ReverseDebugMethod.BRANCH_TRACE;
- } else if (hwTracePref.equals(IGdbDebugPreferenceConstants.PREF_REVERSE_TRACE_METHOD_PROCESSOR_TRACE)) {
- fReverseMode = ReverseDebugMethod.PROCESSOR_TRACE;
- } else {
- fReverseMode = ReverseDebugMethod.GDB_TRACE;
- }
- } else if (reverseMode.equals(IGDBLaunchConfigurationConstants.DEBUGGER_REVERSE_MODE_SOFTWARE)) {
- fReverseMode = ReverseDebugMethod.SOFTWARE;
- } else {
- rm.setStatus(new Status(IStatus.ERROR, GdbPlugin.PLUGIN_ID, IDsfStatusConstants.INTERNAL_ERROR, "Unexpected reverse debugging type: " + reverseMode, null)); //$NON-NLS-1$
- }
- }
-
- rm.done();
- }
- });
- }
-
- /**
+ fReverseMode = ReverseDebugMethod.BRANCH_TRACE;
+ } else if (hwTracePref
+ .equals(IGdbDebugPreferenceConstants.PREF_REVERSE_TRACE_METHOD_PROCESSOR_TRACE)) {
+ fReverseMode = ReverseDebugMethod.PROCESSOR_TRACE;
+ } else {
+ fReverseMode = ReverseDebugMethod.GDB_TRACE;
+ }
+ } else if (reverseMode.equals(IGDBLaunchConfigurationConstants.DEBUGGER_REVERSE_MODE_SOFTWARE)) {
+ fReverseMode = ReverseDebugMethod.SOFTWARE;
+ } else {
+ rm.setStatus(new Status(IStatus.ERROR, GdbPlugin.PLUGIN_ID, IDsfStatusConstants.INTERNAL_ERROR,
+ "Unexpected reverse debugging type: " + reverseMode, null)); //$NON-NLS-1$
+ }
+ }
+
+ rm.done();
+ }
+ });
+ }
+
+ /**
* @since 5.2
*/
- protected ReverseDebugMethod getReverseMode() {
- return fReverseMode;
- }
-
- /**
- * Here we set the reverse debug mode
- */
- @Execute
- public void stepSetReverseMode(RequestMonitor rm) {
- if (getReverseEnabled() && fReverseService != null ) {
- fReverseService.enableReverseMode(fCommandControl.getContext(), fReverseMode, rm);
- } else {
- rm.done();
- }
- }
+ protected ReverseDebugMethod getReverseMode() {
+ return fReverseMode;
+ }
+
+ /**
+ * Here we set the reverse debug mode
+ */
+ @Execute
+ public void stepSetReverseMode(RequestMonitor rm) {
+ if (getReverseEnabled() && fReverseService != null) {
+ fReverseService.enableReverseMode(fCommandControl.getContext(), fReverseMode, rm);
+ } else {
+ rm.done();
+ }
+ }
}

Back to the top