diff --git a/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/output/MIBreakpoint.java b/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/output/MIBreakpoint.java index f4f8b1fc703..ac8d674add1 100644 --- a/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/output/MIBreakpoint.java +++ b/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/output/MIBreakpoint.java @@ -62,6 +62,7 @@ public class MIBreakpoint { boolean isAWpt; boolean isRWpt; boolean isWWpt; + boolean isHdw; public MIBreakpoint(MITuple tuple) { parse(tuple); @@ -75,10 +76,6 @@ public class MIBreakpoint { return type; } - public boolean isHardware() { - return getType().startsWith("hw") || isWatchpoint(); - } - public boolean isTemporary() { return getDisposition().equals("del"); } @@ -91,6 +88,15 @@ public class MIBreakpoint { isWpt = w; } + public boolean isHardware() { + return isHdw; + } + + public void setHardware(boolean hd) { + isWpt = hd; + isHdw = hd; + } + public boolean isAccessWatchpoint() { return isAWpt; } @@ -183,6 +189,29 @@ public class MIBreakpoint { } } else if (var.equals("type")) { type = str; + //type="hw watchpoint" + if (type.startsWith("hw")) { + isHdw = true; + isWWpt = true; + isWpt = true; + } + //type="acc watchpoint" + if (type.startsWith("acc")) { + isWWpt = true; + isRWpt = true; + isWpt = true; + } + //type="read watchpoint" + if (type.startsWith("read")) { + isRWpt = true; + isWpt = true; + } + // ?? + if (type.equals("watchpoint")) { + isWpt = true; + } + // type="breakpoint" + // default ok. } else if (var.equals("disp")) { disp = str; } else if (var.equals("enabled")) {