diff --git a/debug/org.eclipse.cdt.debug.ui/plugin.xml b/debug/org.eclipse.cdt.debug.ui/plugin.xml index 97a17808fbd..64a8096db78 100644 --- a/debug/org.eclipse.cdt.debug.ui/plugin.xml +++ b/debug/org.eclipse.cdt.debug.ui/plugin.xml @@ -2158,6 +2158,8 @@ + + - - - + + + + + @@ -2180,11 +2182,11 @@ icon="icons/obj16/reverse_resume.gif" label="%ReverseResume.label" style="push"> - - - + + + + + @@ -2195,11 +2197,11 @@ icon="icons/obj16/reverse_stepinto.gif" label="%ReverseStepInto.label" style="push"> - - - + + + + + @@ -2210,11 +2212,11 @@ icon="icons/obj16/reverse_stepover.gif" label="%ReverseStepOver.label" style="push"> - - - + + + + + @@ -2225,14 +2227,16 @@ icon="icons/obj16/uncall.gif" label="%Uncall.label" style="push"> - - - + + + + + + + - - - + + - + + locationURI="menu:org.eclipse.ui.run?before=threadGroup"> - - - + + @@ -2270,11 +2268,8 @@ icon="icons/obj16/reverse_stepinto.gif" label="%ReverseStepInto.label" style="push"> - - - + + @@ -2285,11 +2280,8 @@ icon="icons/obj16/reverse_stepover.gif" label="%ReverseStepOver.label" style="push"> - - - + + @@ -2300,14 +2292,13 @@ icon="icons/obj16/uncall.gif" label="%Uncall.label" style="push"> - - - + + + + - - - + + @@ -2330,11 +2318,8 @@ icon="icons/obj16/reverse_resume.gif" label="%ReverseResume.label" style="push"> - - - + + @@ -2345,11 +2330,8 @@ icon="icons/obj16/reverse_stepinto.gif" label="%ReverseStepInto.label" style="push"> - - - + + @@ -2360,11 +2342,8 @@ icon="icons/obj16/reverse_stepover.gif" label="%ReverseStepOver.label" style="push"> - - - + + @@ -2375,11 +2354,8 @@ icon="icons/obj16/uncall.gif" label="%Uncall.label" style="push"> - - - + + @@ -2390,26 +2366,84 @@ icon="icons/obj16/start_tracing_obj.gif" label="%StartTracing.name" style="push"> - - - - + + + - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/commands/ReverseToggleCommandHandler.java b/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/commands/ReverseToggleCommandHandler.java index d6b2e7971e0..dd917d98ddc 100644 --- a/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/commands/ReverseToggleCommandHandler.java +++ b/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/commands/ReverseToggleCommandHandler.java @@ -127,14 +127,22 @@ public class ReverseToggleCommandHandler extends DebugCommandHandler implements @Override protected void postExecute(IRequest request, Object[] targets) { super.postExecute(request, targets); - // request re-evaluation of property "org.eclipse.cdt.debug.ui.isReverseDebuggingEnabled" new WorkbenchJob("") { //$NON-NLS-1$ @Override public IStatus runInUIThread(IProgressMonitor monitor) { - IEvaluationService exprService = (IEvaluationService) PlatformUI.getWorkbench().getService(IEvaluationService.class); - if (exprService != null) { - exprService.requestEvaluation("org.eclipse.cdt.debug.ui.isReverseDebuggingEnabled"); //$NON-NLS-1$ + // Request re-evaluation of property "org.eclipse.cdt.debug.ui.isReverseDebuggingEnabled" to update + // visibility of reverse stepping commands. + IEvaluationService exprService = (IEvaluationService) PlatformUI.getWorkbench().getService(IEvaluationService.class); + if (exprService != null) { + exprService.requestEvaluation("org.eclipse.cdt.debug.ui.isReverseDebuggingEnabled"); //$NON-NLS-1$ + } + // Refresh reverse toggle commands with the new state of reverse enabled. + // This is in order to keep multiple toggle actions in UI in sync. + ICommandService commandService = (ICommandService) PlatformUI.getWorkbench().getService(ICommandService.class); + if (commandService != null) { + commandService.refreshElements(REVERSE_TOGGLE_COMMAND_ID, null); } + return Status.OK_STATUS; } }.schedule(); diff --git a/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/service/GDBProcesses_7_1.java b/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/service/GDBProcesses_7_1.java index 297ea8f22ac..98bce344a70 100644 --- a/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/service/GDBProcesses_7_1.java +++ b/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/service/GDBProcesses_7_1.java @@ -175,8 +175,16 @@ public class GDBProcesses_7_1 extends GDBProcesses_7_0 { if (getData().getThreadList().length != 0) { MIThread thread = getData().getThreadList()[0]; if (thread.getThreadId().equals(threadDmc.getId())) { + String id = thread.getOsId(); + // append thread details (if any) to the thread ID + // as for GDB 6.x with CLIInfoThreadsInfo#getOsId() + final String details = thread.getDetails(); + if (details != null && details.length() > 0) { + id += " (" + details + ")"; //$NON-NLS-1$ //$NON-NLS-2$ + } + String core = thread.getCore(); - threadData = new MIThreadDMData_7_1("", thread.getOsId(), //$NON-NLS-1$ + threadData = new MIThreadDMData_7_1("", id, //$NON-NLS-1$ core == null ? null : new String[] { core }); } }