Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[cdt-patch] First draft of the tracepoints in the CDI

Index: ChangeLog
===================================================================
RCS file: /home/tools/org.eclipse.cdt.debug.core/ChangeLog,v
retrieving revision 1.187
diff -u -r1.187 ChangeLog
--- ChangeLog 23 May 2003 15:49:26 -0000 1.187
+++ ChangeLog 26 May 2003 18:11:50 -0000
@@ -1,3 +1,9 @@
+2003-05-26 Mikhail Khodjaiants
+ First draft of the tracepoints in the CDI.
+ * ICDITraceManager.java
+ * ICDITraceSnapshot.java
+ * ICDITracepoint.java
+
 2003-05-23 Alain Magloire
 
  * src/org/eclipse/cdt/debug/core/cdi/model/type/ICDIType.java: extends
Index: src/org/eclipse/cdt/debug/core/cdi/ICDITraceManager.java
===================================================================
RCS file: src/org/eclipse/cdt/debug/core/cdi/ICDITraceManager.java
diff -N src/org/eclipse/cdt/debug/core/cdi/ICDITraceManager.java
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ src/org/eclipse/cdt/debug/core/cdi/ICDITraceManager.java 26 May 2003 18:11:50 -0000
@@ -0,0 +1,154 @@
+/*
+ *(c) Copyright QNX Software Systems Ltd. 2002.
+ * All Rights Reserved.
+ *
+ */
+
+package org.eclipse.cdt.debug.core.cdi;
+
+import org.eclipse.cdt.debug.core.cdi.model.ICDITracepoint;
+
+/**
+ * Manages the collection of registered tracepoints and trace snapshoits
+ * in the debug session. Provides methods to control tracing.
+ *
+ * @since May 15, 2003
+ */
+public interface ICDITraceManager extends ICDISessionObject {
+ /**
+  * Returns a collection of all tracepoints set for this session.
+  * Returns an empty array if no tracepoints are set.
+  *
+  * @return a collection of all tracepoints set for this session
+  * @throws CDIException on failure. Reasons include:
+  */
+ ICDITracepoint[] getTracepoints() throws CDIException;
+
+ /**
+  * Deletes the given tracepoint.
+  *
+  * @param tracepoint - a tracepoint to be deleted
+  * @throws CDIException on failure. Reasons include:
+  */
+ void deleteTracepoint( ICDITracepoint tracepoint ) throws CDIException;
+
+ /**
+  * Deletes the given array of tracepoints.
+  *
+  * @param tracepoints - the array of tracepoints to be deleted
+  * @throws CDIException on failure. Reasons include:
+  */
+ void deleteTracepoints( ICDITracepoint[] tracepoints ) throws CDIException;
+
+ /**
+  * Deletes all tracepoints.
+  *
+  * @throws CDIException on failure. Reasons include:
+  */
+ void deleteAllTracepoints() throws CDIException;
+
+ /**
+  * Sets a tracepoint at the given location.
+  * The tracepoint is set acording to the choices:
+  * <pre>
+  * if location.getFile() != null then
+  *    if location.getFunction() != null then
+  *       tracepoint = file:function
+  *    else
+  *       tracepoint = file:line
+  * else if (location.getFuntion() != null) then
+  *    tracepoint = function
+  * else if (location.getLineNumber() != 0 then
+  *    tracepoint = line
+  * else
+  *    tracepoint = address
+  * end
+  * </pre>
+  *
+  * @param location - the location
+  * @return a tracepoint
+  * @throws CDIException on failure. Reasons include:
+  */
+ ICDITracepoint setTracepoint( ICDILocation location ) throws CDIException;
+
+ /**
+  * Allows the manager to interrupt the excution of program
+  * when setting a tracepoint.
+  */
+ void allowProgramInterruption( boolean allow );
+
+ /**
+  * Starts the tracing and begins collecting data.
+  *
+  * @throws CDIException on failure. Reasons include:
+  */
+ void startTracing() throws CDIException;
+
+ /**
+  * Stops the tracing and ends collecting data.
+  *
+  * @throws CDIException on failure. Reasons include:
+  */
+ void stopTracing() throws CDIException;
+
+ /**
+  * Returns the status of tracing.
+  *
+  * @return the status of tracing
+  * @throws CDIException on failure. Reasons include:
+  */
+ boolean isTracing() throws CDIException;
+
+ /**
+  * Enables/disables the snapshot debugging mode.
+  *
+  * @param enabled <code>true</code> to enable, and <code>false</code>
+  * to disable
+  * @throws CDIException on failure. Reasons include:
+  */
+ void enableSnapshotMode( boolean enabled ) throws CDIException;
+
+ /**
+  * Returns all trace snapshots for this session.
+  *
+  * @return all trace snapshots for this session
+  * @throws CDIException on failure. Reasons include:
+  */
+ ICDITraceSnapshot[] getSnapshots() throws CDIException;
+
+ /**
+  * Returns all trace snapshots associated with the given tracepoints.
+  *
+  * @param tracepoints - an array of tracepoints
+  * @return all trace snapshots associated with the given tracepoints
+  * @throws CDIException on failure. Reasons include:
+  */
+ ICDITraceSnapshot[] getSnapshots( ICDITracepoint[] tracepoints ) throws CDIException;
+
+ /**
+  * Returns all trace snapshots associated with the given locations.
+  *
+  * @param locations - an array of locations
+  * @return all trace snapshots associated with the given locations
+  * @throws CDIException on failure. Reasons include:
+  */
+ ICDITraceSnapshot[] getSnapshots( ICDILocation[] locations ) throws CDIException;
+
+ /**
+  * Creates an ICDILocation object for given file name and line number or function.
+  *
+  * @param file - a file name
+  * @param function - a function name
+  * @param line - a line number
+  * @return an ICDILocation object
+  */
+ ICDILocation createLocation( String file, String function, int line );
+
+ /**
+  * Creates an ICDILocation object for given address.
+  *
+  * @param address - an address
+  * @return an ICDILocation object
+  */
+ ICDILocation createLocation( long address );
+}
Index: src/org/eclipse/cdt/debug/core/cdi/ICDITraceSnapshot.java
===================================================================
RCS file: src/org/eclipse/cdt/debug/core/cdi/ICDITraceSnapshot.java
diff -N src/org/eclipse/cdt/debug/core/cdi/ICDITraceSnapshot.java
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ src/org/eclipse/cdt/debug/core/cdi/ICDITraceSnapshot.java 26 May 2003 18:11:50 -0000
@@ -0,0 +1,47 @@
+/*
+ *(c) Copyright QNX Software Systems Ltd. 2002.
+ * All Rights Reserved.
+ *
+ */
+
+package org.eclipse.cdt.debug.core.cdi;
+
+import org.eclipse.cdt.debug.core.cdi.model.ICDIObject;
+import org.eclipse.cdt.debug.core.cdi.model.ICDITracepoint;
+
+/**
+ * Represents a trace snapshot in the debug session.
+ *
+ * @since May 15, 2003
+ */
+public interface ICDITraceSnapshot extends ICDISessionObject {
+
+ /**
+  * Returns the number of this snapshot.
+  *
+  * @return the number of this snapshot
+  */
+ int getNumber();
+
+ /**
+  * Selects this snapshot.
+  *
+  * @throws CDIException on failure. Reasons include:
+  */
+ void select() throws CDIException;
+
+ /**
+  * Returns the data collected at this snapshot.
+  *
+  * @return the data collected at this snapshot
+  * @throws CDIException on failure. Reasons include:
+  */
+ ICDIObject[] getData() throws CDIException;
+
+ /**
+  * Returns the array of tracepoints associated with this snapshot.
+  *
+  * @return array of tracepoints
+  */
+ ICDITracepoint[] getTracepoints();
+}
Index: src/org/eclipse/cdt/debug/core/cdi/model/ICDITracepoint.java
===================================================================
RCS file: src/org/eclipse/cdt/debug/core/cdi/model/ICDITracepoint.java
diff -N src/org/eclipse/cdt/debug/core/cdi/model/ICDITracepoint.java
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ src/org/eclipse/cdt/debug/core/cdi/model/ICDITracepoint.java 26 May 2003 18:11:50 -0000
@@ -0,0 +1,98 @@
+/*
+ *(c) Copyright QNX Software Systems Ltd. 2002.
+ * All Rights Reserved.
+ *
+ */
+
+package org.eclipse.cdt.debug.core.cdi.model;
+
+import org.eclipse.cdt.debug.core.cdi.CDIException;
+import org.eclipse.cdt.debug.core.cdi.ICDILocation;
+
+/**
+ * Defines a point in the program execution when the specified data to be collected. 
+ *
+ * @since May 15, 2003
+ */
+public interface ICDITracepoint extends ICDIObject {
+
+ /**
+  * Represents an action to be taken when the tracepoint is hit.
+  *
+  * @since May 15, 2003
+  */
+ public interface IAction {
+ }
+
+ /**
+  * Returns the location of this tracepoint.
+  *
+  * @return the location of this tracepoint
+  * @throws CDIException if this method fails.  Reasons include:
+  */
+ ICDILocation getLocation() throws CDIException;
+
+ /**
+  * Returns whether this tracepoint is enabled.
+  *
+  * @return whether this tracepoint is enabled
+  * @throws CDIException if this method fails.  Reasons include:
+  */
+ boolean isEnabled() throws CDIException;
+
+ /**
+  * Sets the enabled state of this tracepoint. This has no effect
+  * if the current enabled state is the same as specified by
+  * the enabled parameter.
+  *
+  * @param enabled - whether this tracepoint should be enabled
+  * @throws CDIException if this method fails.  Reasons include:
+  */
+ void setEnabled( boolean enabled ) throws CDIException;
+
+ /**
+  * Returns the passcount of this tracepoint.
+  *
+  * @return the passcount of this tracepoint
+  * @throws CDIException if this method fails.  Reasons include:
+  */
+ int getPassCount() throws CDIException;

+ /**
+  * Sets the passcount of this tracepoint.
+  *
+  * @param the passcount to set
+  * @throws CDIException if this method fails.  Reasons include:
+  */
+ void setPassCount( int passCount ) throws CDIException;
+
+ /**
+  * Adds the given actions to the action list of thie tracepoint.
+  *
+  * @param actions to add
+  * @throws CDIException if this method fails.  Reasons include:
+  */
+ void addActions( ICDITracepoint.IAction[] actions ) throws CDIException;
+
+ /**
+  * Removes the given actions from the action list of thie tracepoint.
+  *
+  * @param actions to remove
+  * @throws CDIException if this method fails.  Reasons include:
+  */
+ void removeActions( ICDITracepoint.IAction[] actions ) throws CDIException;
+
+ /**
+  * Clears the action list of thie tracepoint.
+  *
+  * @throws CDIException if this method fails.  Reasons include:
+  */
+ void clearActions() throws CDIException;
+
+ /**
+  * Returns the actions assigned to this tracepoint.
+  *
+  * @return the actions of this tracepoint
+  */
+ ICDITracepoint.IAction[] getActions();
+}

Back to the top