diff --git a/debug/org.eclipse.cdt.debug.core/cdi/org/eclipse/cdt/debug/core/cdi/model/ICDITarget2.java b/debug/org.eclipse.cdt.debug.core/cdi/org/eclipse/cdt/debug/core/cdi/model/ICDITarget2.java index df1ba61b163..b970e07cd53 100644 --- a/debug/org.eclipse.cdt.debug.core/cdi/org/eclipse/cdt/debug/core/cdi/model/ICDITarget2.java +++ b/debug/org.eclipse.cdt.debug.core/cdi/org/eclipse/cdt/debug/core/cdi/model/ICDITarget2.java @@ -11,7 +11,6 @@ package org.eclipse.cdt.debug.core.cdi.model; -import org.eclipse.cdt.debug.core.model.IGlobalVariableDescriptor; public interface ICDITarget2 extends ICDITarget { @@ -19,6 +18,6 @@ public interface ICDITarget2 extends ICDITarget { /** Returns a list of global variables for the targeted process * @return list of globals for the targeted process */ - IGlobalVariableDescriptor[] getGlobalVariables(); + ICDIGlobalVariableDescriptor[] getGlobalVariables(); } diff --git a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/model/CDebugTarget.java b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/model/CDebugTarget.java index 17c85b9825b..571e04b240b 100644 --- a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/model/CDebugTarget.java +++ b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/model/CDebugTarget.java @@ -56,6 +56,7 @@ import org.eclipse.cdt.debug.core.cdi.event.ICDIResumedEvent; import org.eclipse.cdt.debug.core.cdi.event.ICDISuspendedEvent; import org.eclipse.cdt.debug.core.cdi.model.ICDIAddressFactoryManagement; import org.eclipse.cdt.debug.core.cdi.model.ICDIBreakpoint; +import org.eclipse.cdt.debug.core.cdi.model.ICDIGlobalVariableDescriptor; import org.eclipse.cdt.debug.core.cdi.model.ICDIObject; import org.eclipse.cdt.debug.core.cdi.model.ICDISharedLibrary; import org.eclipse.cdt.debug.core.cdi.model.ICDISignal; @@ -1362,18 +1363,23 @@ public class CDebugTarget extends CDebugElement implements ICDebugTarget, ICDIEv ICDITarget cdiTarget = getCDITarget(); IGlobalVariableDescriptor[] globals = new IGlobalVariableDescriptor[0]; // If the backend can give us the globals... + ArrayList list = new ArrayList(); if (cdiTarget instanceof ICDITarget2) - globals = ((ICDITarget2) cdiTarget).getGlobalVariables(); + { + ICDIGlobalVariableDescriptor[] cdiGlobals = ((ICDITarget2) cdiTarget).getGlobalVariables(); + for (int i = 0; i < cdiGlobals.length; i++) { + list.add(CVariableFactory.createGlobalVariableDescriptor(cdiGlobals[i].getName(), null)); + } + } // otherwise ask the binary if (globals.length == 0) { - ArrayList list = new ArrayList(); IBinaryObject file = getBinaryFile(); if (file != null) { list.addAll( getCFileGlobals( file ) ); } - globals = (IGlobalVariableDescriptor[])list.toArray( new IGlobalVariableDescriptor[list.size()] ); } + globals = (IGlobalVariableDescriptor[])list.toArray( new IGlobalVariableDescriptor[list.size()] ); return globals; }