Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnton Leherbauer2014-07-04 10:54:39 +0000
committerAnton Leherbauer2014-07-04 10:54:59 +0000
commitb2c39dfb4727578fc198d75372518a0fc2a70644 (patch)
treecfebddd705b325fd281bc104c38db781fd61e542 /plugins/org.eclipse.tcf.debug/src
parent8f170df14be2719dcc29ad8ec494fb8e3681478b (diff)
downloadorg.eclipse.tcf-b2c39dfb4727578fc198d75372518a0fc2a70644.tar.gz
org.eclipse.tcf-b2c39dfb4727578fc198d75372518a0fc2a70644.tar.xz
org.eclipse.tcf-b2c39dfb4727578fc198d75372518a0fc2a70644.zip
TCF Debugger: Bug 438803 - Add support for CDT dynamic printf
Change-Id: If37c6ccd680862768400c6156ef659c951222fb6 Signed-off-by: Anton Leherbauer <anton.leherbauer@windriver.com>
Diffstat (limited to 'plugins/org.eclipse.tcf.debug/src')
-rw-r--r--plugins/org.eclipse.tcf.debug/src/org/eclipse/tcf/internal/debug/model/TCFBreakpointsModel.java7
1 files changed, 7 insertions, 0 deletions
diff --git a/plugins/org.eclipse.tcf.debug/src/org/eclipse/tcf/internal/debug/model/TCFBreakpointsModel.java b/plugins/org.eclipse.tcf.debug/src/org/eclipse/tcf/internal/debug/model/TCFBreakpointsModel.java
index 7f7227a23..ab6cd2dfb 100644
--- a/plugins/org.eclipse.tcf.debug/src/org/eclipse/tcf/internal/debug/model/TCFBreakpointsModel.java
+++ b/plugins/org.eclipse.tcf.debug/src/org/eclipse/tcf/internal/debug/model/TCFBreakpointsModel.java
@@ -72,6 +72,7 @@ public class TCFBreakpointsModel {
ATTR_REQESTED_LINE = "requestedLine",
ATTR_REQESTED_CHAR = "requestedCharStart",
ATTR_CONDITION = "org.eclipse.cdt.debug.core.condition",
+ ATTR_PRINTF_STRING = "org.eclipse.cdt.debug.core.printf_string",
ATTR_IGNORE_COUNT = "org.eclipse.cdt.debug.core.ignoreCount",
ATTR_CONTEXTNAMES = ITCFConstants.ID_TCF_DEBUG_MODEL + '.' + IBreakpoints.PROP_CONTEXT_NAMES,
ATTR_CONTEXTIDS = ITCFConstants.ID_TCF_DEBUG_MODEL + '.' + IBreakpoints.PROP_CONTEXT_IDS,
@@ -730,6 +731,12 @@ public class TCFBreakpointsModel {
if (address != null && address.length() > 0) m.put(IBreakpoints.PROP_LOCATION, address);
}
String condition = (String)p.get(ATTR_CONDITION);
+ String printf_string = (String)p.get(ATTR_PRINTF_STRING);
+ if (printf_string != null && printf_string.length() > 0)
+ if (condition != null && condition.length() > 0)
+ condition = '(' + condition + ") && " + "$printf(" + printf_string + ')';
+ else
+ condition = "$printf(" + printf_string + ')';
if (condition != null && condition.length() > 0) m.put(IBreakpoints.PROP_CONDITION, condition);
String event_type = (String)p.get(ATTR_EVENT_TYPE);
if (event_type != null && event_type.length() > 0) m.put(IBreakpoints.PROP_EVENT_TYPE, event_type);

Back to the top