Skip to main content
summaryrefslogtreecommitdiffstats
path: root/debug
diff options
context:
space:
mode:
Diffstat (limited to 'debug')
-rw-r--r--debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/sourcelookup/CSourceLookupParticipant.java13
1 files changed, 11 insertions, 2 deletions
diff --git a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/sourcelookup/CSourceLookupParticipant.java b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/sourcelookup/CSourceLookupParticipant.java
index 1acfac24a5e..76270d05625 100644
--- a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/sourcelookup/CSourceLookupParticipant.java
+++ b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/sourcelookup/CSourceLookupParticipant.java
@@ -13,7 +13,10 @@
*******************************************************************************/
package org.eclipse.cdt.debug.internal.core.sourcelookup;
+import java.io.File;
+
import org.eclipse.cdt.debug.core.model.ICStackFrame;
+import org.eclipse.cdt.debug.core.sourcelookup.AbsolutePathSourceContainer;
import org.eclipse.cdt.debug.core.sourcelookup.ISourceLookupChangeListener;
import org.eclipse.cdt.debug.internal.core.ListenerList;
import org.eclipse.core.runtime.CoreException;
@@ -82,8 +85,14 @@ public class CSourceLookupParticipant extends AbstractSourceLookupParticipant {
name = (String)object;
}
Object[] foundElements = super.findSourceElements( object );
- if (foundElements.length == 0 && (object instanceof IDebugElement))
- foundElements = new Object[] { new CSourceNotFoundElement( (IDebugElement) object ) };
+ if (foundElements.length == 0 && (object instanceof IDebugElement)) {
+ // debugger could have resolved it itself and "name" is an absolute path
+ if (new File(name).exists()) {
+ foundElements = new AbsolutePathSourceContainer().findSourceElements(name);
+ } else {
+ foundElements = new Object[] { new CSourceNotFoundElement((IDebugElement) object) };
+ }
+ }
return foundElements;
}

Back to the top