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;
|
||||
}
|
||||
|
||||
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)
|
||||
{
|
||||
if (params.fileName.isEmpty())
|
||||
@@ -316,8 +324,7 @@ static QJsonObject createBreakpoint(const BreakpointParameters ¶ms)
|
||||
|
||||
QJsonObject bp;
|
||||
bp["line"] = params.textPosition.line;
|
||||
bp["condition"] = params.condition;
|
||||
bp["hitCondition"] = QString::number(params.ignoreCount);
|
||||
setBreakpointParameters(bp, params.condition, params.ignoreCount);
|
||||
return bp;
|
||||
}
|
||||
|
||||
@@ -328,8 +335,7 @@ static QJsonObject createFunctionBreakpoint(const BreakpointParameters ¶ms)
|
||||
|
||||
QJsonObject bp;
|
||||
bp["name"] = params.functionName;
|
||||
bp["condition"] = params.condition;
|
||||
bp["hitCondition"] = QString::number(params.ignoreCount);
|
||||
setBreakpointParameters(bp, params.condition, params.ignoreCount);
|
||||
return bp;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user