forked from qt-creator/qt-creator
DAP: Fix Python debug breakpoints
Note: IgnoreCount works differently in Python engine, this needs futher investigation. Change-Id: I6bfbd444267810df7c807c2193dd445f6dbc3865 Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
@@ -309,6 +309,14 @@ bool DapEngine::acceptsBreakpoint(const BreakpointParameters &) const
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void setBreakpointParameters(QJsonObject &bp, const QString &condition, int ignoreCount)
|
||||||
|
{
|
||||||
|
if (!condition.isEmpty())
|
||||||
|
bp["condition"] = condition;
|
||||||
|
if (ignoreCount > 0)
|
||||||
|
bp["hitCondition"] = QString::number(ignoreCount);
|
||||||
|
}
|
||||||
|
|
||||||
static QJsonObject createBreakpoint(const BreakpointParameters ¶ms)
|
static QJsonObject createBreakpoint(const BreakpointParameters ¶ms)
|
||||||
{
|
{
|
||||||
if (params.fileName.isEmpty())
|
if (params.fileName.isEmpty())
|
||||||
@@ -316,8 +324,7 @@ static QJsonObject createBreakpoint(const BreakpointParameters ¶ms)
|
|||||||
|
|
||||||
QJsonObject bp;
|
QJsonObject bp;
|
||||||
bp["line"] = params.textPosition.line;
|
bp["line"] = params.textPosition.line;
|
||||||
bp["condition"] = params.condition;
|
setBreakpointParameters(bp, params.condition, params.ignoreCount);
|
||||||
bp["hitCondition"] = QString::number(params.ignoreCount);
|
|
||||||
return bp;
|
return bp;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -328,8 +335,7 @@ static QJsonObject createFunctionBreakpoint(const BreakpointParameters ¶ms)
|
|||||||
|
|
||||||
QJsonObject bp;
|
QJsonObject bp;
|
||||||
bp["name"] = params.functionName;
|
bp["name"] = params.functionName;
|
||||||
bp["condition"] = params.condition;
|
setBreakpointParameters(bp, params.condition, params.ignoreCount);
|
||||||
bp["hitCondition"] = QString::number(params.ignoreCount);
|
|
||||||
return bp;
|
return bp;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user