diff options
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) { |