Skip to main content
summaryrefslogtreecommitdiffstats
path: root/qt
diff options
context:
space:
mode:
authorJonah Graham2016-03-16 20:41:33 +0000
committerGerrit Code Review @ Eclipse.org2016-03-17 02:30:51 +0000
commit628389071558c43c52b666995e1eaa5c4aa67a8f (patch)
treefdf26b11af48b2ba8f8c907596ba67bc7f802357 /qt
parent315fc0f5efdcf4b2f5bfde5bd04c22afe1176fd0 (diff)
downloadorg.eclipse.cdt-628389071558c43c52b666995e1eaa5c4aa67a8f.tar.gz
org.eclipse.cdt-628389071558c43c52b666995e1eaa5c4aa67a8f.tar.xz
org.eclipse.cdt-628389071558c43c52b666995e1eaa5c4aa67a8f.zip
Bug 472765: Use gdb's "set substitute-path from to"
Add support for gdb's "set substitute-path from to" by adding a new service called GDBSourceLookup that uses GDB to perform the path mapping. The new GDBSourceLookup service uses the new GdbSourceLookupDirector to get the set of paths that need mapping using GDB's "set substitute-path" and the director resolves compilation path differently so as to leave the GDB backend to handle the local path to compile path resolution. The MappingSourceContainer has been enhanced to allow a per mapping container override of the new behaviour. This is a fallback as the default behaviour when using GDB is to use "set substitute-path". The MappingSourceContainerDialog exposes the new option in MappingSourceContainer as a checkbox at the bottom of the path mapping dialog in a backend agnostic way. The new code is tested in methods called "sourceSubstitute*" and mirror the same tests for the now non-backend handled version which are "sourceMapping*". Note that doMappingAndLaunch/doSubstituteAndLaunch have been updated to explicitly check or uncheck the setIsMappingWithBackendEnabled setting Change-Id: I122d7c597cd461d8e38c4f82522ccfdf9e51a5ba Signed-off-by: Jonah Graham <jonah@kichwacoders.com>
Diffstat (limited to 'qt')
-rw-r--r--qt/org.eclipse.cdt.qt.core/src/org/eclipse/cdt/internal/qt/core/launch/QtLocalDebugLaunchConfigDelegate.java4
1 files changed, 2 insertions, 2 deletions
diff --git a/qt/org.eclipse.cdt.qt.core/src/org/eclipse/cdt/internal/qt/core/launch/QtLocalDebugLaunchConfigDelegate.java b/qt/org.eclipse.cdt.qt.core/src/org/eclipse/cdt/internal/qt/core/launch/QtLocalDebugLaunchConfigDelegate.java
index e360dcd0b35..af7ed6fd443 100644
--- a/qt/org.eclipse.cdt.qt.core/src/org/eclipse/cdt/internal/qt/core/launch/QtLocalDebugLaunchConfigDelegate.java
+++ b/qt/org.eclipse.cdt.qt.core/src/org/eclipse/cdt/internal/qt/core/launch/QtLocalDebugLaunchConfigDelegate.java
@@ -15,8 +15,8 @@ import org.eclipse.cdt.dsf.concurrent.ImmediateExecutor;
import org.eclipse.cdt.dsf.concurrent.Query;
import org.eclipse.cdt.dsf.concurrent.RequestMonitorWithProgress;
import org.eclipse.cdt.dsf.concurrent.Sequence;
-import org.eclipse.cdt.dsf.debug.sourcelookup.DsfSourceLookupDirector;
import org.eclipse.cdt.dsf.gdb.launching.GdbLaunch;
+import org.eclipse.cdt.dsf.gdb.launching.GdbSourceLookupDirector;
import org.eclipse.cdt.dsf.gdb.launching.ServicesLaunchSequence;
import org.eclipse.cdt.dsf.gdb.service.GdbDebugServicesFactory;
import org.eclipse.cdt.dsf.gdb.service.command.IGDBControl;
@@ -43,7 +43,7 @@ public class QtLocalDebugLaunchConfigDelegate extends QtLaunchConfigurationDeleg
launch.setLaunchTarget(target);
launch.initialize();
- DsfSourceLookupDirector locator = new DsfSourceLookupDirector(launch.getSession());
+ GdbSourceLookupDirector locator = new GdbSourceLookupDirector(launch.getSession());
String memento = configuration.getAttribute(ILaunchConfiguration.ATTR_SOURCE_LOCATOR_MEMENTO, (String) null);
if (memento == null) {
locator.initializeDefaults(configuration);

Back to the top