Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarc Khouzam2011-03-11 21:22:00 +0000
committerMarc Khouzam2011-03-11 21:22:00 +0000
commit1f85afff5f2a8964390ea4a6492ca0f5875ccb05 (patch)
tree787c28cc0be0baeb83eea4c54ea7615866ae88dd
parentdeedd4f451217fdcff1118cc8e9d4d20e885ecab (diff)
downloadorg.eclipse.cdt-201103141311.tar.gz
org.eclipse.cdt-201103141311.tar.xz
org.eclipse.cdt-201103141311.zip
Bug 225805: Sourcelookup handling does not scale to large projects. Stop using -environment-directory.v201103141311
-rw-r--r--dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/launching/FinalLaunchSequence.java30
-rw-r--r--jtag/org.eclipse.cdt.debug.gdbjtag.core/src/org/eclipse/cdt/debug/gdbjtag/core/GDBJtagDSFFinalLaunchSequence.java30
2 files changed, 34 insertions, 26 deletions
diff --git a/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/launching/FinalLaunchSequence.java b/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/launching/FinalLaunchSequence.java
index d3dce9e8d01..f43d5b7d109 100644
--- a/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/launching/FinalLaunchSequence.java
+++ b/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/launching/FinalLaunchSequence.java
@@ -16,7 +16,6 @@ import java.util.List;
import java.util.Properties;
import org.eclipse.cdt.debug.core.ICDTLaunchConfigurationConstants;
-import org.eclipse.cdt.debug.internal.core.sourcelookup.CSourceLookupDirector;
import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.DsfExecutor;
import org.eclipse.cdt.dsf.concurrent.RequestMonitor;
@@ -25,7 +24,6 @@ import org.eclipse.cdt.dsf.datamodel.DMContexts;
import org.eclipse.cdt.dsf.datamodel.DataModelInitializedEvent;
import org.eclipse.cdt.dsf.datamodel.IDMContext;
import org.eclipse.cdt.dsf.debug.service.IBreakpoints.IBreakpointsTargetDMContext;
-import org.eclipse.cdt.dsf.debug.service.ISourceLookup.ISourceLookupDMContext;
import org.eclipse.cdt.dsf.gdb.IGDBLaunchConfigurationConstants;
import org.eclipse.cdt.dsf.gdb.actions.IConnect;
import org.eclipse.cdt.dsf.gdb.internal.GdbPlugin;
@@ -34,7 +32,6 @@ import org.eclipse.cdt.dsf.gdb.service.IGDBTraceControl;
import org.eclipse.cdt.dsf.gdb.service.IGDBTraceControl.ITraceTargetDMContext;
import org.eclipse.cdt.dsf.gdb.service.SessionType;
import org.eclipse.cdt.dsf.gdb.service.command.IGDBControl;
-import org.eclipse.cdt.dsf.mi.service.CSourceLookup;
import org.eclipse.cdt.dsf.mi.service.IMIProcesses;
import org.eclipse.cdt.dsf.mi.service.MIBreakpointsManager;
import org.eclipse.cdt.dsf.mi.service.command.CommandFactory;
@@ -314,17 +311,22 @@ public class FinalLaunchSequence extends Sequence {
requestMonitor.done();
}
}},
- /*
- * Setup the source paths
- */
- new Step() { @Override
- public void execute(RequestMonitor requestMonitor) {
- CSourceLookup sourceLookup = fTracker.getService(CSourceLookup.class);
- CSourceLookupDirector locator = (CSourceLookupDirector)fLaunch.getSourceLocator();
- ISourceLookupDMContext sourceLookupDmc = (ISourceLookupDMContext)fCommandControl.getContext();
-
- sourceLookup.setSourceLookupPath(sourceLookupDmc, locator.getSourceContainers(), requestMonitor);
- }},
+// -environment-directory with a lot of paths could
+// make setting breakpoint incredibly slow, which makes
+// the debug session un-workable. We simply stop
+// using it because it's usefulness is unclear.
+// Bug 225805
+// /*
+// * Setup the source paths
+// */
+// new Step() { @Override
+// public void execute(RequestMonitor requestMonitor) {
+// CSourceLookup sourceLookup = fTracker.getService(CSourceLookup.class);
+// CSourceLookupDirector locator = (CSourceLookupDirector)fLaunch.getSourceLocator();
+// ISourceLookupDMContext sourceLookupDmc = (ISourceLookupDMContext)fCommandControl.getContext();
+//
+// sourceLookup.setSourceLookupPath(sourceLookupDmc, locator.getSourceContainers(), requestMonitor);
+// }},
/*
* Specify the core file to be debugged if we are launching such a debug session.
*/
diff --git a/jtag/org.eclipse.cdt.debug.gdbjtag.core/src/org/eclipse/cdt/debug/gdbjtag/core/GDBJtagDSFFinalLaunchSequence.java b/jtag/org.eclipse.cdt.debug.gdbjtag.core/src/org/eclipse/cdt/debug/gdbjtag/core/GDBJtagDSFFinalLaunchSequence.java
index 176b5f32f3e..d85657267cc 100644
--- a/jtag/org.eclipse.cdt.debug.gdbjtag.core/src/org/eclipse/cdt/debug/gdbjtag/core/GDBJtagDSFFinalLaunchSequence.java
+++ b/jtag/org.eclipse.cdt.debug.gdbjtag.core/src/org/eclipse/cdt/debug/gdbjtag/core/GDBJtagDSFFinalLaunchSequence.java
@@ -335,19 +335,25 @@ public class GDBJtagDSFFinalLaunchSequence extends Sequence {
requestMonitor.done();
}
}},
- /*
- * Setup the source paths
- */
- new Step() {
- @Override
- public void execute(RequestMonitor requestMonitor) {
- CSourceLookup sourceLookup = fTracker.getService(CSourceLookup.class);
- CSourceLookupDirector locator = (CSourceLookupDirector)fLaunch.getSourceLocator();
- ISourceLookupDMContext sourceLookupDmc = (ISourceLookupDMContext)fCommandControl.getContext();
- sourceLookup.setSourceLookupPath(sourceLookupDmc, locator.getSourceContainers(), requestMonitor);
- }},
-
+// -environment-directory with a lot of paths could
+// make setting breakpoint incredibly slow, which makes
+// the debug session un-workable. We simply stop
+// using it because it's usefulness is unclear.
+// Bug 225805
+// /*
+// * Setup the source paths
+// */
+// new Step() {
+// @Override
+// public void execute(RequestMonitor requestMonitor) {
+// CSourceLookup sourceLookup = fTracker.getService(CSourceLookup.class);
+// CSourceLookupDirector locator = (CSourceLookupDirector)fLaunch.getSourceLocator();
+// ISourceLookupDMContext sourceLookupDmc = (ISourceLookupDMContext)fCommandControl.getContext();
+//
+// sourceLookup.setSourceLookupPath(sourceLookupDmc, locator.getSourceContainers(), requestMonitor);
+// }},
+
// Below steps are specific to JTag hardware debugging
/*

Back to the top