Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohn Cortell2010-03-12 23:36:43 +0000
committerJohn Cortell2010-03-12 23:36:43 +0000
commit9146796fd600089ddaf33d290a0e14a7904da125 (patch)
tree8aa789c46330f77f5990f309fc3cdaba99898cdb /debug/org.eclipse.cdt.debug.core/src
parentcde61d654485d0f9e8568a5c89d3609fdda08195 (diff)
downloadorg.eclipse.cdt-9146796fd600089ddaf33d290a0e14a7904da125.tar.gz
org.eclipse.cdt-9146796fd600089ddaf33d290a0e14a7904da125.tar.xz
org.eclipse.cdt-9146796fd600089ddaf33d290a0e14a7904da125.zip
[305752] Constants for standard event breakpoint types should be outside the CDI-GDB plugin
Diffstat (limited to 'debug/org.eclipse.cdt.debug.core/src')
-rw-r--r--debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/core/model/ICEventBreakpoint.java152
1 files changed, 139 insertions, 13 deletions
diff --git a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/core/model/ICEventBreakpoint.java b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/core/model/ICEventBreakpoint.java
index ffabf8294fa..a664003eb86 100644
--- a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/core/model/ICEventBreakpoint.java
+++ b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/core/model/ICEventBreakpoint.java
@@ -19,35 +19,161 @@ import org.eclipse.core.runtime.CoreException;
* is break on raising exception in C++, or break on receiving signal.
*
* @sinse 5.0
+ * @since 7.0
*/
public interface ICEventBreakpoint extends ICBreakpoint {
/**
- * Breakpoint attribute storing the event breakpoint event id
+ * Breakpoint attribute storing the event breakpoint event id. Basically,
+ * this indicates what type of event the breakpoint catches--e.g., a C++
+ * exception throw, a library load, a thread exit, etc. Event types can be
+ * contributed via the "breakpointContribution" extension point. Stock CDT
+ * contributes a number of them, which are represented here by the
+ * EVENT_TYPE_XXXXX constants
+ *
+ * <p>
* This attribute is a <code>String</code>.
*
*/
- public static final String EVENT_TYPE_ID = "org.eclipse.cdt.debug.core.eventbreakpoint_event_id"; //$NON-NLS-1$
+ public static final String EVENT_TYPE_ID = "org.eclipse.cdt.debug.core.eventbreakpoint_event_id"; //$NON-NLS-1$
+
/**
- * Breakpoint attribute storing the event breakpoint argument
- * This attribute is a <code>String</code>.
+ * An event breakpoint of this type suspends the target program when it
+ * catches a C++ exception. This type of event has no parameters.
+ *
+ * @since 7.0
+ */
+ public static final String EVENT_TYPE_CATCH = "org.eclipse.cdt.debug.gdb.catch"; //$NON-NLS-1$
+
+ /**
+ * An event breakpoint of this type suspends the target program when it
+ * throws a C++ exception. This type of event has no parameters.
+ *
+ * @since 7.0
+ */
+ public static final String EVENT_TYPE_THROW = "org.eclipse.cdt.debug.gdb.throw"; //$NON-NLS-1$
+
+ /**
+ * An event breakpoint of this type suspends the target program when it
+ * catches a signal (POSIX). This type of event has a single parameter of
+ * type in, indicating the specific signal.
+ *
+ * @since 7.0
+ */
+ public static final String EVENT_TYPE_SIGNAL_CATCH = "org.eclipse.cdt.debug.gdb.signal"; //$NON-NLS-1$
+
+ /**
+ * An event breakpoint of this type suspends the target program when it
+ * calls fork() (POSIX). This type of event has no parameters.
+ *
+ * @since 7.0
+ */
+ public static final String EVENT_TYPE_FORK = "org.eclipse.cdt.debug.gdb.catch_fork"; //$NON-NLS-1$
+
+ /**
+ * An event breakpoint of this type suspends the target program when it
+ * calls vfork() (POSIX). This type of event has no parameters.
+ *
+ * @since 7.0
+ */
+ public static final String EVENT_TYPE_VFORK = "org.eclipse.cdt.debug.gdb.catch_vfork"; //$NON-NLS-1$
+
+ /**
+ * An event breakpoint of this type suspends the target program when it
+ * calls exec() (POSIX). This type of event has no parameters.
+ *
+ * @since 7.0
+ */
+ public static final String EVENT_TYPE_EXEC = "org.eclipse.cdt.debug.gdb.catch_exec"; //$NON-NLS-1$
+
+ /**
+ * An event breakpoint of this type suspends the target program when it
+ * calls exit() (POSIX). This type of event has no parameters.
+ *
+ * @since 7.0
+ */
+ public static final String EVENT_TYPE_EXIT = "org.eclipse.cdt.debug.gdb.catch_exit"; //$NON-NLS-1$
+
+ /**
+ * An event breakpoint of this type suspends the target program when a new
+ * process starts. This type of event has no parameters.
*
+ * @since 7.0
+ */
+ public static final String EVENT_TYPE_PROCESS_START = "org.eclipse.cdt.debug.gdb.catch_start"; //$NON-NLS-1$
+
+ /**
+ * An event breakpoint of this type suspends the target program when a
+ * process exits. This type of event has no parameters.
+ *
+ * @since 7.0
+ */
+ public static final String EVENT_TYPE_PROCESS_STOP = "org.eclipse.cdt.debug.gdb.catch_stop"; //$NON-NLS-1$
+
+ /**
+ * An event breakpoint of this type suspends the target program when a new
+ * thread starts. This type of event has no parameters.
+ *
+ * @since 7.0
+ */
+ public static final String EVENT_TYPE_THREAD_START = "org.eclipse.cdt.debug.gdb.catch_thread_start"; //$NON-NLS-1$
+
+ /**
+ * An event breakpoint of this type suspends the target program when a
+ * thread exits. This type of event has no parameters.
+ *
+ * @since 7.0
+ */
+ public static final String EVENT_TYPE_THREAD_EXIT = "org.eclipse.cdt.debug.gdb.catch_thread_exit"; //$NON-NLS-1$
+
+ /**
+ * An event breakpoint of this type suspends the target program when a
+ * thread joins another one (waits for it to exit) This type of event has no
+ * parameters.
+ *
+ * @since 7.0
+ */
+ public static final String EVENT_TYPE_THREAD_JOIN = "org.eclipse.cdt.debug.gdb.catch_thread_join"; //$NON-NLS-1$
+
+ /**
+ * An event breakpoint of this type suspends the target program when it
+ * loads a library. This type of event has no parameters.
+ *
+ * @since 7.0
+ */
+ public static final String EVENT_TYPE_LIBRARY_LOAD = "org.eclipse.cdt.debug.gdb.catch_load"; //$NON-NLS-1$
+
+ /**
+ * An event breakpoint of this type suspends the target program when it
+ * unloads a library. This type of event has no parameters.
+ *
+ * @since 7.0
+ */
+ public static final String EVENT_TYPE_LIBRARY_UNLOAD = "org.eclipse.cdt.debug.gdb.catch_unload"; //$NON-NLS-1$
+
+ /**
+ * Breakpoint attribute storing the event breakpoint argument. This
+ * attribute is a <code>String</code>, though it may be a stringified
+ * representation of another type (it may be a number, for example).
+ * Currently, an event type can have only one argument
*/
public static final String EVENT_ARG = "org.eclipse.cdt.debug.core.eventbreakpoint_event_arg"; //$NON-NLS-1$
-
+
/**
- * Get event breakpoint type. This is usually id in reverse web notation.
- * This type is interpreted by underlying debugger implementation.
- * Use extension point <code>org.eclipse.cdt.debug.ui.breakpointContribution</code> to define user visible label for this event type.
+ * Get the event breakpoint type. One of our EVENT_TYPE_XXXXX constants or a
+ * custom type contributed via the <code>breakpointContribution</code>
+ * extension point
+ *
* @return event breakpoint type id (not null)
- * @throws CoreException
+ * @throws CoreException
*/
String getEventType() throws CoreException;
/**
- * Get extra event argument. For example name of the exception or number of a signal.
- * Use extension point <code>org.eclipse.cdt.debug.ui.breakpointContribution</code> to define UI control to edit/view this argument
- * @return event argument (not null)
- * @throws CoreException
+ * Get the event argument, if the type has one. Currently, an event type can
+ * have at most one argument.
+ *
+ * @return event argument, or null if not applicable
+ * @throws CoreException
*/
String getEventArgument() throws CoreException;
}

Back to the top