diff --git a/debug/org.eclipse.cdt.debug.mi.core/.classpath b/debug/org.eclipse.cdt.debug.mi.core/.classpath
index 2821669df5f..dcb50cb4820 100644
--- a/debug/org.eclipse.cdt.debug.mi.core/.classpath
+++ b/debug/org.eclipse.cdt.debug.mi.core/.classpath
@@ -1,9 +1,11 @@
-
+
+
+
+
-
diff --git a/debug/org.eclipse.cdt.debug.mi.core/.project b/debug/org.eclipse.cdt.debug.mi.core/.project
index 65c92e96b21..801091af765 100644
--- a/debug/org.eclipse.cdt.debug.mi.core/.project
+++ b/debug/org.eclipse.cdt.debug.mi.core/.project
@@ -5,7 +5,9 @@
org.eclipse.cdt.debug.core
org.eclipse.core.boot
+ org.eclipse.core.resources
org.eclipse.core.runtime
+ org.eclipse.debug.core
diff --git a/debug/org.eclipse.cdt.debug.mi.core/plugin.properties b/debug/org.eclipse.cdt.debug.mi.core/plugin.properties
new file mode 100644
index 00000000000..f5f1edd3475
--- /dev/null
+++ b/debug/org.eclipse.cdt.debug.mi.core/plugin.properties
@@ -0,0 +1,2 @@
+Plugin.name=GDB/MI CDT Debugger Core
+GDBDebugger.name=GDB Debugger
\ No newline at end of file
diff --git a/debug/org.eclipse.cdt.debug.mi.core/plugin.xml b/debug/org.eclipse.cdt.debug.mi.core/plugin.xml
index cefe82ba6f1..ab2026061bb 100644
--- a/debug/org.eclipse.cdt.debug.mi.core/plugin.xml
+++ b/debug/org.eclipse.cdt.debug.mi.core/plugin.xml
@@ -1,11 +1,27 @@
+ name="%Plugin.name"
+ version="1.0.0"
+ class="org.eclipse.cdt.debug.mi.core.MIPlugin">
+
+
+
+
+
+
+
+
+
+
+
diff --git a/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/GDBDebugger.java b/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/GDBDebugger.java
new file mode 100644
index 00000000000..7aa0568b3cb
--- /dev/null
+++ b/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/GDBDebugger.java
@@ -0,0 +1,45 @@
+/*
+ * (c) Copyright QNX Software System Ltd. 2002.
+ * All Rights Reserved.
+ */
+package org.eclipse.cdt.debug.mi.core;
+
+import java.io.IOException;
+
+import org.eclipse.cdt.debug.core.ICDebugger;
+import org.eclipse.cdt.debug.core.cdi.CDIException;
+import org.eclipse.cdt.debug.core.cdi.ICDISession;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.debug.core.ILaunchConfiguration;
+
+public class GDBDebugger implements ICDebugger {
+
+ public ICDISession createLaunchSession(ILaunchConfiguration config, IFile exe) throws CDIException {
+ try {
+ return MIPlugin.getDefault().createCSession(exe.getLocation().toOSString());
+ }
+ catch (IOException e) {
+ throw new CDIException(new Status(0, MIPlugin.getDefault().getDescriptor().getUniqueIdentifier(), 0, "error", e));
+ }
+ }
+
+ public ICDISession createAttachSession(ILaunchConfiguration config, IFile exe, int pid) throws CDIException {
+ try {
+ return MIPlugin.getDefault().createCSession(exe.getLocation().toOSString(), pid);
+ }
+ catch (IOException e) {
+ throw new CDIException(new Status(0, MIPlugin.getDefault().getDescriptor().getUniqueIdentifier(), 0, "error", e));
+ }
+ }
+
+ public ICDISession createCoreSession(ILaunchConfiguration config, IFile exe, IFile corefile) throws CDIException {
+ try {
+ return MIPlugin.getDefault().createCSession(exe.getLocation().toOSString(), corefile.getLocation().toOSString());
+ }
+ catch (IOException e) {
+ throw new CDIException(new Status(0, MIPlugin.getDefault().getDescriptor().getUniqueIdentifier(), 0, "error", e));
+ }
+ }
+
+}