diff --git a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/core/breakpointactions/IReverseDebugEnabler.java b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/core/breakpointactions/IReverseDebugEnabler.java new file mode 100644 index 00000000000..0388be9291b --- /dev/null +++ b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/core/breakpointactions/IReverseDebugEnabler.java @@ -0,0 +1,37 @@ +/******************************************************************************* + * Copyright (c) 2007, 2012 Nokia 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 Dumais (Ericsson) - initial implementation + *******************************************************************************/ + +package org.eclipse.cdt.debug.core.breakpointactions; + +/** + * @since 7.3 + */ +public interface IReverseDebugEnabler { + + /** + * Toggles the state of the reverse debugging mode. + * @throws Exception + */ + void toggle() throws Exception; + + /** + * Enables the reverse debugging mode. No effect if already enabled. + * @throws Exception + */ + void enable() throws Exception; + + /** + * Disables the reverse debugging mode. No effect if it's not enabled. + * @throws Exception + */ + void disable() throws Exception; + +} diff --git a/debug/org.eclipse.cdt.debug.ui/plugin.properties b/debug/org.eclipse.cdt.debug.ui/plugin.properties index a68c817bb15..f2df720999c 100644 --- a/debug/org.eclipse.cdt.debug.ui/plugin.properties +++ b/debug/org.eclipse.cdt.debug.ui/plugin.properties @@ -11,6 +11,7 @@ # Patrick Chuong (Texas Instruments) - Pin and Clone Supports (Bug 331781) # Dobrin Alexiev (Texas Instruments) - initial API and implementation (bug 336876) # Marc Khouzam (Ericsson) - Added support for connect command (Bug 365601) +# Marc Dumais (Ericsson) - Added support for reverse debug action (Bug 365776) ############################################################################### pluginName=C/C++ Development Tools Debugger UI @@ -157,6 +158,7 @@ SoundAction.name=Sound Action LogAction.name=Log Action ResumeAction.name=Resume Action ExternalToolAction.name=External Tool Action +ReverseDebugAction.name=Reverse Debug Action # Breakpoint Types breapointType.label=Type diff --git a/debug/org.eclipse.cdt.debug.ui/plugin.xml b/debug/org.eclipse.cdt.debug.ui/plugin.xml index d1ae7a9b7c4..fa6769bbf67 100644 --- a/debug/org.eclipse.cdt.debug.ui/plugin.xml +++ b/debug/org.eclipse.cdt.debug.ui/plugin.xml @@ -1710,6 +1710,14 @@ class="org.eclipse.cdt.debug.ui.breakpointactions.ExternalToolAction" id="org.eclipse.cdt.debug.ui.breakpointactions.ExternalToolAction"/> + + + + + + + + (fExecutor, null) { + @Override + public void handleSuccess() { + Boolean enabled = getData(); + if ( (enabled.equals(false) && mode.equals(REVERSE_DEBUG_MODE.ENABLE) ) || + (enabled.equals(true) && mode.equals(REVERSE_DEBUG_MODE.DISABLE) ) || + (mode.equals(REVERSE_DEBUG_MODE.TOGGLE)) ) + { + runControl.enableReverseMode(fContext, !enabled, new RequestMonitor(fExecutor, null)); + } + } + }); + } + } + }); + } + +}