diff --git a/dsf-gdb/org.eclipse.cdt.dsf.gdb.ui/plugin.xml b/dsf-gdb/org.eclipse.cdt.dsf.gdb.ui/plugin.xml index f9ab297116b..2afc82dc711 100644 --- a/dsf-gdb/org.eclipse.cdt.dsf.gdb.ui/plugin.xml +++ b/dsf-gdb/org.eclipse.cdt.dsf.gdb.ui/plugin.xml @@ -152,6 +152,9 @@ + diff --git a/dsf-gdb/org.eclipse.cdt.dsf.gdb.ui/src/org/eclipse/cdt/dsf/gdb/internal/ui/GdbAdapterFactory.java b/dsf-gdb/org.eclipse.cdt.dsf.gdb.ui/src/org/eclipse/cdt/dsf/gdb/internal/ui/GdbAdapterFactory.java index 02b682d99c9..27a848d6843 100644 --- a/dsf-gdb/org.eclipse.cdt.dsf.gdb.ui/src/org/eclipse/cdt/dsf/gdb/internal/ui/GdbAdapterFactory.java +++ b/dsf-gdb/org.eclipse.cdt.dsf.gdb.ui/src/org/eclipse/cdt/dsf/gdb/internal/ui/GdbAdapterFactory.java @@ -40,6 +40,13 @@ import org.eclipse.debug.ui.contexts.ISuspendTrigger; * for the launch object. But it also manages the creation and destruction * of the session-based adapters which are returned by the * IDMContext.getAdapter() methods. + * + * When extending the GdbAdapterFactory, it is important to register all the + * types declaratively (in the plugin.xml) that the factory can adapt the + * extended launch to. + * + * See the plugin.xml that references GdbAdapterFactory for the current list, + * and it should match {@link #getAdapterList()}. */ @ThreadSafe public class GdbAdapterFactory implements IAdapterFactory, ILaunchesListener2 { @@ -126,6 +133,9 @@ public class GdbAdapterFactory implements IAdapterFactory, ILaunchesListener2 { return adapterSet.getLaunchAdapter(adapterType); } + /** + * This list must match the list in the plugin.xml. See class comment. + */ @Override public Class[] getAdapterList() { return new Class[] { diff --git a/dsf-gdb/org.eclipse.cdt.examples.dsf.gdb/plugin.xml b/dsf-gdb/org.eclipse.cdt.examples.dsf.gdb/plugin.xml index f47b8e8459e..48784e99f4f 100644 --- a/dsf-gdb/org.eclipse.cdt.examples.dsf.gdb/plugin.xml +++ b/dsf-gdb/org.eclipse.cdt.examples.dsf.gdb/plugin.xml @@ -81,6 +81,10 @@ + + + +