Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarc Khouzam2012-09-06 21:03:52 -0400
committerMarc Khouzam2012-09-06 21:03:52 -0400
commit763aebdd14be8ff851665d3926bb58810c4b151f (patch)
tree991a037328ebf7c3fc47cac2fa9678b8fb0e5a7d
parent4b2232f88ea85058fe126eb5cf9d64bcd54b6a58 (diff)
downloadorg.eclipse.cdt-763aebdd14be8ff851665d3926bb58810c4b151f.tar.gz
org.eclipse.cdt-763aebdd14be8ff851665d3926bb58810c4b151f.tar.xz
org.eclipse.cdt-763aebdd14be8ff851665d3926bb58810c4b151f.zip
Bug 388793: Breakpoint actions do not work with non-stop mode
-rw-r--r--dsf-gdb/org.eclipse.cdt.dsf.gdb/.settings/.api_filters11
-rw-r--r--dsf-gdb/org.eclipse.cdt.dsf.gdb/META-INF/MANIFEST.MF2
-rw-r--r--dsf-gdb/org.eclipse.cdt.dsf.gdb/pom.xml2
-rw-r--r--dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/mi/service/MIBreakpointsManager.java41
4 files changed, 41 insertions, 15 deletions
diff --git a/dsf-gdb/org.eclipse.cdt.dsf.gdb/.settings/.api_filters b/dsf-gdb/org.eclipse.cdt.dsf.gdb/.settings/.api_filters
new file mode 100644
index 0000000000..e6b5c7de50
--- /dev/null
+++ b/dsf-gdb/org.eclipse.cdt.dsf.gdb/.settings/.api_filters
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<component id="org.eclipse.cdt.dsf.gdb" version="2">
+ <resource path="META-INF/MANIFEST.MF">
+ <filter id="924844039">
+ <message_arguments>
+ <message_argument value="4.1.1"/>
+ <message_argument value="4.1.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+</component>
diff --git a/dsf-gdb/org.eclipse.cdt.dsf.gdb/META-INF/MANIFEST.MF b/dsf-gdb/org.eclipse.cdt.dsf.gdb/META-INF/MANIFEST.MF
index 4e896ba4dc..d7c953ad53 100644
--- a/dsf-gdb/org.eclipse.cdt.dsf.gdb/META-INF/MANIFEST.MF
+++ b/dsf-gdb/org.eclipse.cdt.dsf.gdb/META-INF/MANIFEST.MF
@@ -3,7 +3,7 @@ Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-Vendor: %providerName
Bundle-SymbolicName: org.eclipse.cdt.dsf.gdb;singleton:=true
-Bundle-Version: 4.1.0.qualifier
+Bundle-Version: 4.1.1.qualifier
Bundle-Activator: org.eclipse.cdt.dsf.gdb.internal.GdbPlugin
Bundle-Localization: plugin
Require-Bundle: org.eclipse.core.runtime,
diff --git a/dsf-gdb/org.eclipse.cdt.dsf.gdb/pom.xml b/dsf-gdb/org.eclipse.cdt.dsf.gdb/pom.xml
index de9fb7ee0d..44ff0c8ce1 100644
--- a/dsf-gdb/org.eclipse.cdt.dsf.gdb/pom.xml
+++ b/dsf-gdb/org.eclipse.cdt.dsf.gdb/pom.xml
@@ -11,7 +11,7 @@
<relativePath>../../pom.xml</relativePath>
</parent>
- <version>4.1.0-SNAPSHOT</version>
+ <version>4.1.1-SNAPSHOT</version>
<artifactId>org.eclipse.cdt.dsf.gdb</artifactId>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/mi/service/MIBreakpointsManager.java b/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/mi/service/MIBreakpointsManager.java
index d9f92ccf86..c7b2a6565c 100644
--- a/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/mi/service/MIBreakpointsManager.java
+++ b/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/mi/service/MIBreakpointsManager.java
@@ -54,6 +54,7 @@ import org.eclipse.cdt.dsf.debug.service.IDsfBreakpointExtension;
import org.eclipse.cdt.dsf.debug.service.IRunControl;
import org.eclipse.cdt.dsf.debug.service.IRunControl.IContainerDMContext;
import org.eclipse.cdt.dsf.debug.service.IRunControl.IExecutionDMContext;
+import org.eclipse.cdt.dsf.debug.service.IRunControl.ISuspendedDMEvent;
import org.eclipse.cdt.dsf.debug.service.ISourceLookup;
import org.eclipse.cdt.dsf.debug.service.ISourceLookup.ISourceLookupDMContext;
import org.eclipse.cdt.dsf.debug.service.command.ICommandControl;
@@ -65,6 +66,7 @@ import org.eclipse.cdt.dsf.mi.service.MIBreakpoints.BreakpointUpdatedEvent;
import org.eclipse.cdt.dsf.mi.service.MIBreakpoints.MIBreakpointDMContext;
import org.eclipse.cdt.dsf.mi.service.MIRunControl.SuspendedEvent;
import org.eclipse.cdt.dsf.mi.service.breakpoint.actions.BreakpointActionAdapter;
+import org.eclipse.cdt.dsf.mi.service.command.events.IMIDMEvent;
import org.eclipse.cdt.dsf.mi.service.command.events.MIBreakpointHitEvent;
import org.eclipse.cdt.dsf.mi.service.command.events.MIWatchpointScopeEvent;
import org.eclipse.cdt.dsf.mi.service.command.events.MIWatchpointTriggerEvent;
@@ -1340,22 +1342,35 @@ public class MIBreakpointsManager extends AbstractDsfService implements IBreakpo
// Breakpoint actions
//-------------------------------------------------------------------------
+ /** @since 4.1 */
@DsfServiceEventHandler
- public void eventDispatched(SuspendedEvent e) {
-
- if (e.getMIEvent() instanceof MIBreakpointHitEvent) {
- // This covers catchpoints, too
- MIBreakpointHitEvent evt = (MIBreakpointHitEvent) e.getMIEvent();
- performBreakpointAction(evt.getDMContext(), evt.getNumber());
- return;
- }
-
- if (e.getMIEvent() instanceof MIWatchpointTriggerEvent) {
- MIWatchpointTriggerEvent evt = (MIWatchpointTriggerEvent) e.getMIEvent();
- performBreakpointAction(evt.getDMContext(), evt.getNumber());
- return;
+ public void eventDispatched(ISuspendedDMEvent e) {
+ assert e instanceof IMIDMEvent;
+ if (e instanceof IMIDMEvent) {
+ Object miEvent = ((IMIDMEvent)e).getMIEvent();
+
+ if (miEvent instanceof MIBreakpointHitEvent) {
+ // This covers catchpoints, too
+ MIBreakpointHitEvent evt = (MIBreakpointHitEvent)miEvent;
+ performBreakpointAction(evt.getDMContext(), evt.getNumber());
+ return;
+ }
+
+ if (miEvent instanceof MIWatchpointTriggerEvent) {
+ MIWatchpointTriggerEvent evt = (MIWatchpointTriggerEvent)miEvent;
+ performBreakpointAction(evt.getDMContext(), evt.getNumber());
+ return;
+ }
}
}
+
+ /**
+ * @deprecated Replaced by the generic {@link #eventDispatched(ISuspendedDMEvent)}
+ */
+ @Deprecated
+ @DsfServiceEventHandler
+ public void eventDispatched(SuspendedEvent e) {
+ }
private void performBreakpointAction(final IDMContext context, int number) {
// Identify the platform breakpoint

Back to the top