mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-04-22 14:12:10 +02:00
Bug 478740: Add Switch off tracing option
This patch adds the "Switch Off Tracing" option to the select reverse debugging method pull down menu. Change-Id: Ib184c1f4c1d1db781bea4468bc8c939bd27db27d Signed-off-by: raddepal <ravitheja.addepally@intel.com>
This commit is contained in:
parent
79e0972413
commit
3be258d79b
4 changed files with 79 additions and 63 deletions
|
@ -1,5 +1,5 @@
|
||||||
###############################################################################
|
###############################################################################
|
||||||
# Copyright (c) 2000, 2015 QNX Software Systems and others.
|
# Copyright (c) 2000, 2016 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
|
||||||
|
@ -227,12 +227,14 @@ Uncall.label = Uncall
|
||||||
ChangeTraceMethod.name = Set Reverse Debugging Trace Method
|
ChangeTraceMethod.name = Set Reverse Debugging Trace Method
|
||||||
ChangeTraceMethod.description = Set Reverse Debugging Trace Method
|
ChangeTraceMethod.description = Set Reverse Debugging Trace Method
|
||||||
ChangeTraceMethod.label = Set Reverse Debugging Trace Method
|
ChangeTraceMethod.label = Set Reverse Debugging Trace Method
|
||||||
SoftwareTrace.name = Use Software Trace
|
SoftwareTrace.name = Enable Software Trace Method
|
||||||
SoftwareTrace.description = Use Software Trace for Reverse Debugging. Slow, but detailed reverse debugging method.
|
SoftwareTrace.description = Enable Software Trace Method for Reverse Debugging. Slow, but detailed reverse debugging method.
|
||||||
SoftwareTrace.label = Use Software Trace
|
SoftwareTrace.label = Enable Software Trace Method
|
||||||
HardwareTrace.name = Use Hardware Trace
|
HardwareTrace.name = Enable Hardware Trace Method
|
||||||
HardwareTrace.description = Use Hardware Trace for Reverse Debugging. Fast, but less detailed reverse debugging method.
|
HardwareTrace.description = Enable Hardware Trace Method for Reverse Debugging. Fast, but less detailed reverse debugging method.
|
||||||
HardwareTrace.label = Use Hardware Trace
|
HardwareTrace.label = Enable Hardware Trace Method
|
||||||
|
ReverseDisable.label = Disable Reverse Debugging
|
||||||
|
ReverseDisable.description = Disable Reverse Debugging
|
||||||
|
|
||||||
# Connect command
|
# Connect command
|
||||||
Connect.name = Connect
|
Connect.name = Connect
|
||||||
|
|
|
@ -2337,7 +2337,7 @@
|
||||||
<extension
|
<extension
|
||||||
point="org.eclipse.ui.menus">
|
point="org.eclipse.ui.menus">
|
||||||
|
|
||||||
<!-- Register Grouping contributions to the registers view popup -->
|
<!-- Register Grouping contributions to the registers view popup -->
|
||||||
<menuContribution
|
<menuContribution
|
||||||
locationURI="popup:org.eclipse.debug.ui.RegisterView?after=additions">
|
locationURI="popup:org.eclipse.debug.ui.RegisterView?after=additions">
|
||||||
<command
|
<command
|
||||||
|
@ -2385,6 +2385,7 @@
|
||||||
<command
|
<command
|
||||||
commandId="org.eclipse.cdt.debug.ui.command.reverseToggle"
|
commandId="org.eclipse.cdt.debug.ui.command.reverseToggle"
|
||||||
icon="icons/obj16/reverse_toggle.gif"
|
icon="icons/obj16/reverse_toggle.gif"
|
||||||
|
id="org.eclipse.cdt.debug.ui.reverseToggle.menu"
|
||||||
label="%ReverseToggle.label"
|
label="%ReverseToggle.label"
|
||||||
style="pulldown">
|
style="pulldown">
|
||||||
<visibleWhen checkEnabled="false">
|
<visibleWhen checkEnabled="false">
|
||||||
|
@ -2462,8 +2463,8 @@
|
||||||
<menu
|
<menu
|
||||||
commandId="org.eclipse.cdt.debug.ui.command.reverseToggle"
|
commandId="org.eclipse.cdt.debug.ui.command.reverseToggle"
|
||||||
icon="icons/obj16/reverse_toggle.gif"
|
icon="icons/obj16/reverse_toggle.gif"
|
||||||
label="%ReverseToggle.label"
|
id="org.eclipse.cdt.debug.ui.reverseToggle.menu"
|
||||||
style="pulldown">
|
label="%ReverseToggle.label">
|
||||||
<visibleWhen checkEnabled="false">
|
<visibleWhen checkEnabled="false">
|
||||||
<reference definitionId="org.eclipse.cdt.debug.ui.testIsReverseDebuggingActionSetActive"/>
|
<reference definitionId="org.eclipse.cdt.debug.ui.testIsReverseDebuggingActionSetActive"/>
|
||||||
</visibleWhen>
|
</visibleWhen>
|
||||||
|
@ -2524,11 +2525,22 @@
|
||||||
<menu
|
<menu
|
||||||
commandId="org.eclipse.cdt.debug.ui.command.reverseToggle"
|
commandId="org.eclipse.cdt.debug.ui.command.reverseToggle"
|
||||||
icon="icons/obj16/reverse_toggle.gif"
|
icon="icons/obj16/reverse_toggle.gif"
|
||||||
label="%ReverseToggle.label"
|
label="%ReverseToggle.label">
|
||||||
style="pulldown">
|
|
||||||
<visibleWhen checkEnabled="false">
|
<visibleWhen checkEnabled="false">
|
||||||
<reference definitionId="org.eclipse.cdt.debug.ui.testIsReverseDebuggingActionSetActive"/>
|
<reference definitionId="org.eclipse.cdt.debug.ui.testIsReverseDebuggingActionSetActive"/>
|
||||||
</visibleWhen>
|
</visibleWhen>
|
||||||
|
<!-- It does not seem we can re-use the reverse toggle menu here -->
|
||||||
|
<!-- so we re-define it. -->
|
||||||
|
<command
|
||||||
|
commandId="org.eclipse.cdt.debug.ui.command.reverseToggle"
|
||||||
|
label="%ReverseDisable.label"
|
||||||
|
tooltip="%ReverseDisable.description"
|
||||||
|
style="radio">
|
||||||
|
<parameter
|
||||||
|
name="org.eclipse.ui.commands.radioStateParameter"
|
||||||
|
value="TraceOff">
|
||||||
|
</parameter>
|
||||||
|
</command>
|
||||||
<command
|
<command
|
||||||
commandId="org.eclipse.cdt.debug.ui.command.reverseToggle"
|
commandId="org.eclipse.cdt.debug.ui.command.reverseToggle"
|
||||||
label="%SoftwareTrace.label"
|
label="%SoftwareTrace.label"
|
||||||
|
@ -2629,54 +2641,12 @@
|
||||||
<command
|
<command
|
||||||
commandId="org.eclipse.cdt.debug.ui.command.reverseToggle"
|
commandId="org.eclipse.cdt.debug.ui.command.reverseToggle"
|
||||||
icon="icons/obj16/reverse_toggle.gif"
|
icon="icons/obj16/reverse_toggle.gif"
|
||||||
|
id="org.eclipse.cdt.debug.ui.reverseToggle.menu"
|
||||||
label="%ReverseToggle.label"
|
label="%ReverseToggle.label"
|
||||||
style="pulldown">
|
style="pulldown">
|
||||||
<visibleWhen checkEnabled="false">
|
<visibleWhen checkEnabled="false">
|
||||||
<reference definitionId="org.eclipse.cdt.debug.ui.testIsReverseDebuggingActionSetActive"/>
|
<reference definitionId="org.eclipse.cdt.debug.ui.testIsReverseDebuggingActionSetActive"/>
|
||||||
</visibleWhen>
|
</visibleWhen>
|
||||||
<command
|
|
||||||
commandId="org.eclipse.cdt.debug.ui.command.reverseToggle"
|
|
||||||
label="%SoftwareTrace.label"
|
|
||||||
tooltip="%SoftwareTrace.description"
|
|
||||||
style="radio">
|
|
||||||
<parameter
|
|
||||||
name="org.eclipse.ui.commands.radioStateParameter"
|
|
||||||
value="UseSoftTrace">
|
|
||||||
</parameter>
|
|
||||||
</command>
|
|
||||||
<command
|
|
||||||
commandId="org.eclipse.cdt.debug.ui.command.reverseToggle"
|
|
||||||
label="%HardwareTrace.label"
|
|
||||||
tooltip="%HardwareTrace.description"
|
|
||||||
style="radio">
|
|
||||||
<parameter
|
|
||||||
name="org.eclipse.ui.commands.radioStateParameter"
|
|
||||||
value="UseHardTrace">
|
|
||||||
</parameter>
|
|
||||||
</command>
|
|
||||||
</command>
|
|
||||||
</menuContribution>
|
|
||||||
<menuContribution
|
|
||||||
locationURI="menu:org.eclipse.cdt.debug.ui.command.reverseToggle">
|
|
||||||
<command
|
|
||||||
commandId="org.eclipse.cdt.debug.ui.command.reverseToggle"
|
|
||||||
label="%SoftwareTrace.label"
|
|
||||||
tooltip="%SoftwareTrace.description"
|
|
||||||
style="radio">
|
|
||||||
<parameter
|
|
||||||
name="org.eclipse.ui.commands.radioStateParameter"
|
|
||||||
value="UseSoftTrace">
|
|
||||||
</parameter>
|
|
||||||
</command>
|
|
||||||
<command
|
|
||||||
commandId="org.eclipse.cdt.debug.ui.command.reverseToggle"
|
|
||||||
label="%HardwareTrace.label"
|
|
||||||
tooltip="%HardwareTrace.description"
|
|
||||||
style="radio">
|
|
||||||
<parameter
|
|
||||||
name="org.eclipse.ui.commands.radioStateParameter"
|
|
||||||
value="UseHardTrace">
|
|
||||||
</parameter>
|
|
||||||
</command>
|
</command>
|
||||||
</menuContribution>
|
</menuContribution>
|
||||||
<menuContribution
|
<menuContribution
|
||||||
|
@ -2728,6 +2698,44 @@
|
||||||
</command>
|
</command>
|
||||||
</menuContribution>
|
</menuContribution>
|
||||||
|
|
||||||
|
<!-- List of menu items for the reverse toggle menu -->
|
||||||
|
<!-- Note that we re-use this list in the different locations where -->
|
||||||
|
<!-- the reverse toggle is present. We achieve this by using the same -->
|
||||||
|
<!-- id for each of these reverse toggle 'menus' -->
|
||||||
|
<menuContribution
|
||||||
|
locationURI="menu:org.eclipse.cdt.debug.ui.reverseToggle.menu">
|
||||||
|
<command
|
||||||
|
commandId="org.eclipse.cdt.debug.ui.command.reverseToggle"
|
||||||
|
label="%ReverseDisable.label"
|
||||||
|
tooltip="%ReverseDisable.description"
|
||||||
|
style="radio">
|
||||||
|
<parameter
|
||||||
|
name="org.eclipse.ui.commands.radioStateParameter"
|
||||||
|
value="TraceOff">
|
||||||
|
</parameter>
|
||||||
|
</command>
|
||||||
|
<command
|
||||||
|
commandId="org.eclipse.cdt.debug.ui.command.reverseToggle"
|
||||||
|
label="%SoftwareTrace.label"
|
||||||
|
tooltip="%SoftwareTrace.description"
|
||||||
|
style="radio">
|
||||||
|
<parameter
|
||||||
|
name="org.eclipse.ui.commands.radioStateParameter"
|
||||||
|
value="UseSoftTrace">
|
||||||
|
</parameter>
|
||||||
|
</command>
|
||||||
|
<command
|
||||||
|
commandId="org.eclipse.cdt.debug.ui.command.reverseToggle"
|
||||||
|
label="%HardwareTrace.label"
|
||||||
|
tooltip="%HardwareTrace.description"
|
||||||
|
style="radio">
|
||||||
|
<parameter
|
||||||
|
name="org.eclipse.ui.commands.radioStateParameter"
|
||||||
|
value="UseHardTrace">
|
||||||
|
</parameter>
|
||||||
|
</command>
|
||||||
|
</menuContribution>
|
||||||
|
|
||||||
<!-- Group context contributions to Debug view toolbar -->
|
<!-- Group context contributions to Debug view toolbar -->
|
||||||
<menuContribution
|
<menuContribution
|
||||||
locationURI="popup:org.eclipse.debug.ui.DebugView?after=emptyStepGroup">
|
locationURI="popup:org.eclipse.debug.ui.DebugView?after=emptyStepGroup">
|
||||||
|
|
|
@ -184,6 +184,8 @@ public class ReverseToggleCommandHandler extends DebugCommandHandler implements
|
||||||
|
|
||||||
if (radioState.equals("UseSoftTrace")) { //$NON-NLS-1$
|
if (radioState.equals("UseSoftTrace")) { //$NON-NLS-1$
|
||||||
traceMethod = ReverseTraceMethod.FULL_TRACE;
|
traceMethod = ReverseTraceMethod.FULL_TRACE;
|
||||||
|
} else if (radioState.equals("TraceOff")) { //$NON-NLS-1$
|
||||||
|
traceMethod = ReverseTraceMethod.STOP_TRACE;
|
||||||
} else if (radioState.equals("UseHardTrace")) { //$NON-NLS-1$
|
} else if (radioState.equals("UseHardTrace")) { //$NON-NLS-1$
|
||||||
traceMethod = ReverseTraceMethod.HARDWARE_TRACE;
|
traceMethod = ReverseTraceMethod.HARDWARE_TRACE;
|
||||||
} else {
|
} else {
|
||||||
|
@ -193,6 +195,9 @@ public class ReverseToggleCommandHandler extends DebugCommandHandler implements
|
||||||
|
|
||||||
// store the parameter in the gdb command handler class
|
// store the parameter in the gdb command handler class
|
||||||
if (fTargetAdapter != null && fTargetAdapter instanceof IChangeReverseMethodHandler) {
|
if (fTargetAdapter != null && fTargetAdapter instanceof IChangeReverseMethodHandler) {
|
||||||
|
ReverseTraceMethod currMethod = ((IChangeReverseMethodHandler)fTargetAdapter).getTraceMethod(fActiveContext);
|
||||||
|
if (currMethod == traceMethod)
|
||||||
|
return null;
|
||||||
((IChangeReverseMethodHandler)fTargetAdapter).setTraceMethod(traceMethod);
|
((IChangeReverseMethodHandler)fTargetAdapter).setTraceMethod(traceMethod);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -209,7 +214,7 @@ public class ReverseToggleCommandHandler extends DebugCommandHandler implements
|
||||||
if (fTargetAdapter.toggleNeedsUpdating()) {
|
if (fTargetAdapter.toggleNeedsUpdating()) {
|
||||||
ReverseTraceMethod currMethod = ((IChangeReverseMethodHandler)fTargetAdapter).getTraceMethod(fActiveContext);
|
ReverseTraceMethod currMethod = ((IChangeReverseMethodHandler)fTargetAdapter).getTraceMethod(fActiveContext);
|
||||||
if (currMethod == ReverseTraceMethod.STOP_TRACE) {
|
if (currMethod == ReverseTraceMethod.STOP_TRACE) {
|
||||||
if (fLastTraceMethod != ReverseTraceMethod.STOP_TRACE && fLastTraceMethod != ReverseTraceMethod.FULL_TRACE) {
|
if (fLastTraceMethod == ReverseTraceMethod.HARDWARE_TRACE) {
|
||||||
traceMethod = ReverseTraceMethod.HARDWARE_TRACE;
|
traceMethod = ReverseTraceMethod.HARDWARE_TRACE;
|
||||||
} else {
|
} else {
|
||||||
traceMethod = ReverseTraceMethod.FULL_TRACE;
|
traceMethod = ReverseTraceMethod.FULL_TRACE;
|
||||||
|
@ -279,7 +284,7 @@ public class ReverseToggleCommandHandler extends DebugCommandHandler implements
|
||||||
fTraceMethod = reverseMethod;
|
fTraceMethod = reverseMethod;
|
||||||
}
|
}
|
||||||
try{
|
try{
|
||||||
if (fTraceMethod != ReverseTraceMethod.STOP_TRACE && fTraceMethod != ReverseTraceMethod.FULL_TRACE) {
|
if (fTraceMethod == ReverseTraceMethod.HARDWARE_TRACE) {
|
||||||
HandlerUtil.updateRadioState(commandService.getCommand(REVERSE_TOGGLE_COMMAND_ID), "UseHardTrace"); //$NON-NLS-1$
|
HandlerUtil.updateRadioState(commandService.getCommand(REVERSE_TOGGLE_COMMAND_ID), "UseHardTrace"); //$NON-NLS-1$
|
||||||
element.setTooltip(Messages.ReverseDebugging_ToggleHardwareTrace);
|
element.setTooltip(Messages.ReverseDebugging_ToggleHardwareTrace);
|
||||||
element.setIcon(fTracemethodOnImages[1]);
|
element.setIcon(fTracemethodOnImages[1]);
|
||||||
|
@ -289,11 +294,10 @@ public class ReverseToggleCommandHandler extends DebugCommandHandler implements
|
||||||
element.setIcon(fTracemethodOnImages[0]);
|
element.setIcon(fTracemethodOnImages[0]);
|
||||||
} else {
|
} else {
|
||||||
element.setTooltip(Messages.ReverseDebugging_ToggleReverseDebugging);
|
element.setTooltip(Messages.ReverseDebugging_ToggleReverseDebugging);
|
||||||
if (fLastTraceMethod != ReverseTraceMethod.STOP_TRACE && fLastTraceMethod != ReverseTraceMethod.FULL_TRACE) {
|
HandlerUtil.updateRadioState(commandService.getCommand(REVERSE_TOGGLE_COMMAND_ID), "TraceOff"); //$NON-NLS-1$
|
||||||
HandlerUtil.updateRadioState(commandService.getCommand(REVERSE_TOGGLE_COMMAND_ID), "UseHardTrace"); //$NON-NLS-1$
|
if (fLastTraceMethod == ReverseTraceMethod.HARDWARE_TRACE) {
|
||||||
element.setIcon(fTracemethodOffImages[1]);
|
element.setIcon(fTracemethodOffImages[1]);
|
||||||
} else if (fLastTraceMethod == ReverseTraceMethod.FULL_TRACE) {
|
} else if (fLastTraceMethod == ReverseTraceMethod.FULL_TRACE) {
|
||||||
HandlerUtil.updateRadioState(commandService.getCommand(REVERSE_TOGGLE_COMMAND_ID), "UseSoftTrace"); //$NON-NLS-1$
|
|
||||||
element.setIcon(fTracemethodOffImages[0]);
|
element.setIcon(fTracemethodOffImages[0]);
|
||||||
} else {
|
} else {
|
||||||
element.setIcon(fTracemethodDefaultImage);
|
element.setIcon(fTracemethodDefaultImage);
|
||||||
|
|
|
@ -340,7 +340,9 @@ public class GdbReverseToggleCommand extends AbstractDebugCommand implements ICh
|
||||||
if (returnedTrace == ReverseTraceMethod.INVALID)
|
if (returnedTrace == ReverseTraceMethod.INVALID)
|
||||||
return isReverseToggled(context) ? ReverseTraceMethod.FULL_TRACE : ReverseTraceMethod.STOP_TRACE ;
|
return isReverseToggled(context) ? ReverseTraceMethod.FULL_TRACE : ReverseTraceMethod.STOP_TRACE ;
|
||||||
else
|
else
|
||||||
return returnedTrace;
|
return (returnedTrace == ReverseTraceMethod.BRANCH_TRACE ||
|
||||||
|
returnedTrace == ReverseTraceMethod.PROCESSOR_TRACE ||
|
||||||
|
returnedTrace == ReverseTraceMethod.GDB_TRACE ) ? ReverseTraceMethod.HARDWARE_TRACE : returnedTrace;
|
||||||
} catch (InterruptedException e) {
|
} catch (InterruptedException e) {
|
||||||
} catch (ExecutionException e) {
|
} catch (ExecutionException e) {
|
||||||
} catch (RejectedExecutionException e) {
|
} catch (RejectedExecutionException e) {
|
||||||
|
|
Loading…
Add table
Reference in a new issue