From 2971138cb72ed162e7ea6197a3c17e12d1e9ed47 Mon Sep 17 00:00:00 2001 From: Artem Sokolovskii Date: Fri, 7 Jun 2024 15:20:01 +0200 Subject: [PATCH] Debugger: Fix hitting unexisting breakpoints Set UseFullPath only for BP from the opened projects. Fixes: QTCREATORBUG-3750 Change-Id: I343c68ca341f9bfb57e352b9b28df333eb1c16c3 Reviewed-by: David Schulz --- src/plugins/debugger/gdb/gdbengine.cpp | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/plugins/debugger/gdb/gdbengine.cpp b/src/plugins/debugger/gdb/gdbengine.cpp index ab173cc0eab..b31ee7130e4 100644 --- a/src/plugins/debugger/gdb/gdbengine.cpp +++ b/src/plugins/debugger/gdb/gdbengine.cpp @@ -30,7 +30,9 @@ #include #include +#include #include +#include #include #include @@ -2074,8 +2076,10 @@ QString GdbEngine::breakpointLocation(const BreakpointParameters &data) return addressSpec(data.address); BreakpointPathUsage usage = data.pathUsage; - if (usage == BreakpointPathUsageEngineDefault) - usage = BreakpointUseShortPath; + if (usage == BreakpointPathUsageEngineDefault) { + ProjectExplorer::Project *project = ProjectManager::projectForFile(data.fileName); + usage = project ? BreakpointUseFullPath : BreakpointUseShortPath; + } const QString fileName = usage == BreakpointUseFullPath ? data.fileName.path() : breakLocation(data.fileName); @@ -2088,8 +2092,10 @@ QString GdbEngine::breakpointLocation(const BreakpointParameters &data) QString GdbEngine::breakpointLocation2(const BreakpointParameters &data) { BreakpointPathUsage usage = data.pathUsage; - if (usage == BreakpointPathUsageEngineDefault) - usage = BreakpointUseShortPath; + if (usage == BreakpointPathUsageEngineDefault) { + ProjectExplorer::Project *project = ProjectManager::projectForFile(data.fileName); + usage = project ? BreakpointUseFullPath : BreakpointUseShortPath; + } const QString fileName = usage == BreakpointUseFullPath ? data.fileName.path() : breakLocation(data.fileName);