From 2bd6fe0928f61c9bcf1f67738e2802d89aa3b907 Mon Sep 17 00:00:00 2001 From: Marc Khouzam Date: Wed, 18 Apr 2012 16:37:55 -0400 Subject: [PATCH] Bug 352748: [disassembly][non-stop] Cannot show disassembly when last thread is running Change-Id: I50af41d2ea199f79d964451204e9016cbffc3e37 Reviewed-on: https://git.eclipse.org/r/5624 Reviewed-by: Anton Leherbauer Reviewed-by: Marc Khouzam IP-Clean: Marc Khouzam Tested-by: Marc Khouzam --- .../org/eclipse/cdt/dsf/gdb/service/GDBProcesses_7_0.java | 5 +++-- .../src/org/eclipse/cdt/dsf/mi/service/MIProcesses.java | 5 +++-- .../src/org/eclipse/cdt/dsf/mi/service/MIRunControl.java | 4 +++- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/service/GDBProcesses_7_0.java b/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/service/GDBProcesses_7_0.java index 6d93ad17912..7ce98f2e180 100644 --- a/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/service/GDBProcesses_7_0.java +++ b/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/service/GDBProcesses_7_0.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2008, 2011 Ericsson and others. + * Copyright (c) 2008, 2012 Ericsson 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 @@ -9,6 +9,7 @@ * Ericsson - initial API and implementation * Onur Akdemir (TUBITAK BILGEM-ITI) - Multi-process debugging (Bug 237306) * John Dallaway - GDB 7.x MI thread details field ignored (Bug 325556) + * Marc Khouzam (Ericsson) - Make each thread an IDisassemblyDMContext (bug 352748) *******************************************************************************/ package org.eclipse.cdt.dsf.gdb.service; @@ -118,7 +119,7 @@ public class GDBProcesses_7_0 extends AbstractDsfService */ @Immutable private static class MIExecutionDMC extends AbstractDMContext - implements IMIExecutionDMContext + implements IMIExecutionDMContext, IDisassemblyDMContext { /** * String ID that is used to identify the thread in the GDB/MI protocol. diff --git a/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/mi/service/MIProcesses.java b/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/mi/service/MIProcesses.java index 250782a5027..c590274c35a 100644 --- a/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/mi/service/MIProcesses.java +++ b/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/mi/service/MIProcesses.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2008, 2010 Ericsson and others. + * Copyright (c) 2008, 2012 Ericsson 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 @@ -7,6 +7,7 @@ * * Contributors: * Ericsson - initial API and implementation + * Marc Khouzam (Ericsson) - Make each thread an IDisassemblyDMContext (bug 352748) *******************************************************************************/ package org.eclipse.cdt.dsf.mi.service; @@ -76,7 +77,7 @@ public class MIProcesses extends AbstractDsfService implements IMIProcesses, ICa */ @Immutable private static class MIExecutionDMC extends AbstractDMContext - implements IMIExecutionDMContext + implements IMIExecutionDMContext, IDisassemblyDMContext { /** * String ID that is used to identify the thread in the GDB/MI protocol. diff --git a/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/mi/service/MIRunControl.java b/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/mi/service/MIRunControl.java index b9a97767985..b15021870f3 100644 --- a/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/mi/service/MIRunControl.java +++ b/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/mi/service/MIRunControl.java @@ -10,6 +10,7 @@ * Ericsson AB - Modified for handling of multiple threads * Vladimir Prus (Mentor Graphics) - Add proper stop reason for step return (Bug 362274) * Indel AG - [369622] fixed moveToLine using MinGW + * Marc Khouzam (Ericsson) - Make each thread an IDisassemblyDMContext (bug 352748) *******************************************************************************/ package org.eclipse.cdt.dsf.mi.service; @@ -37,6 +38,7 @@ import org.eclipse.cdt.dsf.debug.service.IBreakpoints.IBreakpointDMContext; import org.eclipse.cdt.dsf.debug.service.IBreakpoints.IBreakpointsTargetDMContext; import org.eclipse.cdt.dsf.debug.service.IBreakpointsExtension.IBreakpointHitDMEvent; import org.eclipse.cdt.dsf.debug.service.ICachingService; +import org.eclipse.cdt.dsf.debug.service.IDisassembly.IDisassemblyDMContext; import org.eclipse.cdt.dsf.debug.service.IProcesses; import org.eclipse.cdt.dsf.debug.service.IStack.IFrameDMContext; import org.eclipse.cdt.dsf.debug.service.command.BufferedCommandControl; @@ -93,7 +95,7 @@ import org.osgi.framework.BundleContext; */ public class MIRunControl extends AbstractDsfService implements IMIRunControl, ICachingService { - private static class MIExecutionDMC extends AbstractDMContext implements IMIExecutionDMContext + private static class MIExecutionDMC extends AbstractDMContext implements IMIExecutionDMContext, IDisassemblyDMContext { /** * Integer ID that is used to identify the thread in the GDB/MI protocol.