DAP: Fix remove breakpoint in Python engine

- Added acceptsBreakpoint function needed for mixing debugger

Change-Id: I6d4bc707527ce3d5e334a5332d1a806a27201d39
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
Artem Sokolovskii
2023-09-18 15:39:55 +02:00
parent 16018b3834
commit 5ec327d66d
2 changed files with 38 additions and 1 deletions

View File

@@ -209,6 +209,37 @@ void installDebugpyPackage(const FilePath &pythonPath)
process.waitForFinished(); process.waitForFinished();
} }
bool PyDapEngine::acceptsBreakpoint(const BreakpointParameters &bp) const
{
return bp.fileName.endsWith(".py");
}
void PyDapEngine::insertBreakpoint(const Breakpoint &bp)
{
DapEngine::insertBreakpoint(bp);
notifyBreakpointInsertOk(bp); // Needed for Python support issue:1386
}
void PyDapEngine::removeBreakpoint(const Breakpoint &bp)
{
DapEngine::removeBreakpoint(bp);
notifyBreakpointRemoveOk(bp); // Needed for Python support issue:1386
}
void PyDapEngine::updateBreakpoint(const Breakpoint &bp)
{
DapEngine::updateBreakpoint(bp);
/* Needed for Python support issue:1386 */
BreakpointParameters parameters = bp->requestedParameters();
if (parameters.enabled != bp->isEnabled()) {
parameters.pending = false;
bp->setParameters(parameters);
}
notifyBreakpointChangeOk(bp);
/* Needed for Python support issue:1386 */
}
bool PyDapEngine::isLocalAttachEngine() const bool PyDapEngine::isLocalAttachEngine() const
{ {
return runParameters().startMode == AttachToLocalProcess; return runParameters().startMode == AttachToLocalProcess;

View File

@@ -19,7 +19,13 @@ private:
void setupEngine() override; void setupEngine() override;
bool isLocalAttachEngine() const; bool isLocalAttachEngine() const;
Utils::Process m_proc; bool acceptsBreakpoint(const BreakpointParameters &bp) const override;
/* Needed for Python support issue:1386 */
void insertBreakpoint(const Breakpoint &bp) override;
void updateBreakpoint(const Breakpoint &bp) override;
void removeBreakpoint(const Breakpoint &bp) override;
/* Needed for Python support issue:1386 */
const QLoggingCategory &logCategory() override const QLoggingCategory &logCategory() override
{ {
static const QLoggingCategory logCategory = QLoggingCategory("qtc.dbg.dapengine.python", static const QLoggingCategory logCategory = QLoggingCategory("qtc.dbg.dapengine.python",