Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEugene Tarassov2015-01-09 22:29:23 +0000
committerEugene Tarassov2015-01-09 22:29:23 +0000
commit06c8b55af19854b4eae05ef20600fcc88f0621a0 (patch)
treeafcdb2fe51fb6411eb67be2343b7fa607bce90eb
parente267148b55b46a0da84eab031fe431d0b9159a11 (diff)
downloadorg.eclipse.tcf-06c8b55af19854b4eae05ef20600fcc88f0621a0.tar.gz
org.eclipse.tcf-06c8b55af19854b4eae05ef20600fcc88f0621a0.tar.xz
org.eclipse.tcf-06c8b55af19854b4eae05ef20600fcc88f0621a0.zip
Bug 456765 - Entering an invalid breakpoint condition does not cause any error
-rw-r--r--plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IBreakpoints.java1
-rw-r--r--plugins/org.eclipse.tcf.debug.ui/src/org/eclipse/tcf/internal/debug/ui/model/TCFAnnotationManager.java9
-rw-r--r--plugins/org.eclipse.tcf.debug.ui/src/org/eclipse/tcf/internal/debug/ui/model/TCFModelPresentation.java1
-rw-r--r--plugins/org.eclipse.tcf.debug.ui/src/org/eclipse/tcf/internal/debug/ui/properties/TCFBreakpointStatusPage.java2
4 files changed, 12 insertions, 1 deletions
diff --git a/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IBreakpoints.java b/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IBreakpoints.java
index 9f4bb0918..8ee30683a 100644
--- a/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IBreakpoints.java
+++ b/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IBreakpoints.java
@@ -127,6 +127,7 @@ public interface IBreakpoints extends IService {
*/
static final String
INSTANCE_ERROR = "Error", // String
+ INSTANCE_CONDITION_ERROR = "ConditionError", // String
INSTANCE_CONTEXT = "LocationContext", // String
INSTANCE_ADDRESS = "Address", // Number
INSTANCE_SIZE = "Size", // Number
diff --git a/plugins/org.eclipse.tcf.debug.ui/src/org/eclipse/tcf/internal/debug/ui/model/TCFAnnotationManager.java b/plugins/org.eclipse.tcf.debug.ui/src/org/eclipse/tcf/internal/debug/ui/model/TCFAnnotationManager.java
index 6370af6fc..c07af44f1 100644
--- a/plugins/org.eclipse.tcf.debug.ui/src/org/eclipse/tcf/internal/debug/ui/model/TCFAnnotationManager.java
+++ b/plugins/org.eclipse.tcf.debug.ui/src/org/eclipse/tcf/internal/debug/ui/model/TCFAnnotationManager.java
@@ -723,7 +723,6 @@ public class TCFAnnotationManager {
bp_name + " failed to plant" + location + ": " + error,
TYPE_BP_INSTANCE);
set.add(a);
- error = null;
}
else if (area != null && addr != null) {
String location = " planted at 0x" + addr.toString(16) + ", line " + area.start_line;
@@ -741,6 +740,14 @@ public class TCFAnnotationManager {
set.add(b);
}
}
+ error = (String)m.get(IBreakpoints.INSTANCE_CONDITION_ERROR);
+ if (error != null) {
+ TCFAnnotation a = new TCFAnnotation(memory.id, id, addr, org_area,
+ ImageCache.getImage(ImageCache.IMG_BREAKPOINT_ERROR),
+ bp_name + " failed to evaluate condition: " + error,
+ TYPE_BP_INSTANCE);
+ set.add(a);
+ }
}
}
}
diff --git a/plugins/org.eclipse.tcf.debug.ui/src/org/eclipse/tcf/internal/debug/ui/model/TCFModelPresentation.java b/plugins/org.eclipse.tcf.debug.ui/src/org/eclipse/tcf/internal/debug/ui/model/TCFModelPresentation.java
index 0409d58b1..438c4bf66 100644
--- a/plugins/org.eclipse.tcf.debug.ui/src/org/eclipse/tcf/internal/debug/ui/model/TCFModelPresentation.java
+++ b/plugins/org.eclipse.tcf.debug.ui/src/org/eclipse/tcf/internal/debug/ui/model/TCFModelPresentation.java
@@ -118,6 +118,7 @@ public class TCFModelPresentation implements IDebugModelPresentation {
@SuppressWarnings("unchecked")
Collection<Map<String,Object>> list = (Collection<Map<String,Object>>)planted;
for (Map<String,Object> m : list) {
+ if (m.get(IBreakpoints.INSTANCE_CONDITION_ERROR) != null) error = true;
if (m.get(IBreakpoints.INSTANCE_ERROR) == null) {
installed = true;
if (!moved) {
diff --git a/plugins/org.eclipse.tcf.debug.ui/src/org/eclipse/tcf/internal/debug/ui/properties/TCFBreakpointStatusPage.java b/plugins/org.eclipse.tcf.debug.ui/src/org/eclipse/tcf/internal/debug/ui/properties/TCFBreakpointStatusPage.java
index 125cd2ec8..8b6ba7bc5 100644
--- a/plugins/org.eclipse.tcf.debug.ui/src/org/eclipse/tcf/internal/debug/ui/properties/TCFBreakpointStatusPage.java
+++ b/plugins/org.eclipse.tcf.debug.ui/src/org/eclipse/tcf/internal/debug/ui/properties/TCFBreakpointStatusPage.java
@@ -148,6 +148,8 @@ public class TCFBreakpointStatusPage extends PropertyPage {
z.text = z.marker.getAttribute(TCFBreakpointsModel.ATTR_MESSAGE, "");
String error = (String)m.get(IBreakpoints.INSTANCE_ERROR);
if (error != null) z.add("Error: " + error);
+ String condition_error = (String)m.get(IBreakpoints.INSTANCE_CONDITION_ERROR);
+ if (condition_error != null) z.add("Condition evaluation error: " + condition_error);
Number addr = (Number)m.get(IBreakpoints.INSTANCE_ADDRESS);
z.planted_ok = error == null;
if (addr != null) {

Back to the top