aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/debugger/breakhandler.cpp
diff options
context:
space:
mode:
authorhjk <[email protected]>2012-08-21 14:16:07 +0200
committerhjk <[email protected]>2012-08-21 15:37:43 +0200
commitf671a58c795a4ac963eec6d76c25995ebf78b2d6 (patch)
tree81de0034bc23ba45b5bb11ae3253c28ad99b25fd /src/plugins/debugger/breakhandler.cpp
parentc2b78b8fdf992e62812a3608882316371d566c54 (diff)
debugger: add support for temporary breakpoints
Diffstat (limited to 'src/plugins/debugger/breakhandler.cpp')
-rw-r--r--src/plugins/debugger/breakhandler.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/plugins/debugger/breakhandler.cpp b/src/plugins/debugger/breakhandler.cpp
index edc666d7342..86acab94c44 100644
--- a/src/plugins/debugger/breakhandler.cpp
+++ b/src/plugins/debugger/breakhandler.cpp
@@ -321,6 +321,8 @@ void BreakHandler::saveBreakpoints()
map.insert(_("threadspec"), data.threadSpec);
if (!data.enabled)
map.insert(_("disabled"), one);
+ if (data.oneShot)
+ map.insert(_("oneshot"), one);
if (data.pathUsage != BreakpointPathUsageEngineDefault)
map.insert(_("usefullpath"), QString::number(data.pathUsage));
if (data.tracepoint)
@@ -373,6 +375,9 @@ void BreakHandler::loadBreakpoints()
v = map.value(_("disabled"));
if (v.isValid())
data.enabled = !v.toInt();
+ v = map.value(_("oneshot"));
+ if (v.isValid())
+ data.oneShot = v.toInt();
v = map.value(_("usefullpath"));
if (v.isValid())
data.pathUsage = static_cast<BreakpointPathUsage>(v.toInt());
@@ -768,6 +773,13 @@ bool BreakHandler::isTracepoint(BreakpointModelId id) const
return it->data.tracepoint;
}
+bool BreakHandler::isOneShot(BreakpointModelId id) const
+{
+ ConstIterator it = m_storage.find(id);
+ BREAK_ASSERT(it != m_storage.end(), return false);
+ return it->data.oneShot;
+}
+
bool BreakHandler::needsChildren(BreakpointModelId id) const
{
ConstIterator it = m_storage.find(id);