From a4f0fa4e7e4e3f944bf9ec2811a3927ab15d88d5 Mon Sep 17 00:00:00 2001 From: David Inglis Date: Tue, 13 Aug 2002 04:03:45 +0000 Subject: [PATCH] added new gdb Debugger extension --- .../org.eclipse.cdt.debug.mi.core/.classpath | 6 ++- debug/org.eclipse.cdt.debug.mi.core/.project | 2 + .../plugin.properties | 2 + .../org.eclipse.cdt.debug.mi.core/plugin.xml | 20 ++++++++- .../cdt/debug/mi/core/GDBDebugger.java | 45 +++++++++++++++++++ 5 files changed, 71 insertions(+), 4 deletions(-) create mode 100644 debug/org.eclipse.cdt.debug.mi.core/plugin.properties create mode 100644 debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/GDBDebugger.java 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)); + } + } + +}