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)); + } + } + +}