[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[cdt-patch] load sharedlibs
|
Index: ChangeLog
===================================================================
RCS file: /home/tools/org.eclipse.cdt.debug.mi.core/ChangeLog,v
retrieving revision 1.67
diff -u -r1.67 ChangeLog
--- ChangeLog 17 Jan 2003 18:33:58 -0000 1.67
+++ ChangeLog 17 Jan 2003 19:55:32 -0000
@@ -1,5 +1,10 @@
2003-01-17 Alain Magloire
+ * src/.../mi/core/cdi/SharedLibraryManager.java (loadSymbols):
+ Call "shared libraryname".
+
+2003-01-17 Alain Magloire
+
The problem here is that we do not knw the state of
the session, for example "target remote server:port"
was issue, in this case the state is suspended.
Index: src/org/eclipse/cdt/debug/mi/core/cdi/SharedLibraryManager.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/cdi/SharedLibraryManager.java,v
retrieving revision 1.2
diff -u -r1.2 SharedLibraryManager.java
--- src/org/eclipse/cdt/debug/mi/core/cdi/SharedLibraryManager.java 17 Jan 2003 16:28:47 -0000 1.2
+++ src/org/eclipse/cdt/debug/mi/core/cdi/SharedLibraryManager.java 17 Jan 2003 19:55:33 -0000
@@ -15,12 +15,14 @@
import org.eclipse.cdt.debug.mi.core.MIException;
import org.eclipse.cdt.debug.mi.core.MISession;
import org.eclipse.cdt.debug.mi.core.cdi.model.SharedLibrary;
+import org.eclipse.cdt.debug.mi.core.command.CLICommand;
import org.eclipse.cdt.debug.mi.core.command.CommandFactory;
import org.eclipse.cdt.debug.mi.core.command.MIInfoSharedLibrary;
import org.eclipse.cdt.debug.mi.core.event.MIEvent;
import org.eclipse.cdt.debug.mi.core.event.MISharedLibChangedEvent;
import org.eclipse.cdt.debug.mi.core.event.MISharedLibCreatedEvent;
import org.eclipse.cdt.debug.mi.core.event.MISharedLibUnloadedEvent;
+import org.eclipse.cdt.debug.mi.core.output.MIInfo;
import org.eclipse.cdt.debug.mi.core.output.MIInfoSharedLibraryInfo;
import org.eclipse.cdt.debug.mi.core.output.MIShared;
@@ -39,7 +41,22 @@
}
public void loadSymbols(ICDISharedLibrary slib) throws CDIException {
- throw new CDIException("not implemented");
+ // FIXME: use the command factory for this so we can overload.
+ if (slib.areSymbolsLoaded()) {
+ return;
+ }
+ CSession s = getCSession();
+ CLICommand cmd = new CLICommand("shared " + slib.getFileName());
+ try {
+ s.getMISession().postCommand(cmd);
+ MIInfo info = cmd.getMIInfo();
+ if (info == null) {
+ throw new CDIException("No answer");
+ }
+ } catch (MIException e) {
+ throw new MI2CDIException(e);
+ }
+ update();
}
public void update() throws CDIException {