debuggercdi/com.nokia.cdt.debug.launch/src/com/nokia/cdt/internal/debug/launch/ui/ExecutablesTab.java
changeset 1603 40a2929cde0d
parent 1384 10b788ab16fe
child 1925 54d4f01c8389
--- a/debuggercdi/com.nokia.cdt.debug.launch/src/com/nokia/cdt/internal/debug/launch/ui/ExecutablesTab.java	Fri Jul 09 14:17:27 2010 -0500
+++ b/debuggercdi/com.nokia.cdt.debug.launch/src/com/nokia/cdt/internal/debug/launch/ui/ExecutablesTab.java	Fri Jul 09 16:58:09 2010 -0500
@@ -417,8 +417,15 @@
 			// removeLastSegments(2) will strip the filename and 'urel', 'udeb' or 'lib'
 			IPath launchExeTargetPath = new Path(new File(launchExeName).getCanonicalPath()).removeLastSegments(2); 
 			for (Executable executable : ExecutablesManager.getExecutablesManager().getExecutables(true)) {
-				IPath exePath = executable.getPath();
-				if (launchExeTargetPath.isPrefixOf(exePath))
+ 				IPath exePath = executable.getPath();
+				// remove last two segments here also (ignore urel, udeb, lib on executables)
+				//  this is so we can match down to the compiler but not beyond:
+				//  y:\epoc32\release\armv5.<variant>\... (for a variant build in raptor) will match
+				//  y:\epco32\release\armv5\... for a non-variant built executable
+				IPath exePathShort = exePath.removeLastSegments(2);
+				String sLaunchExeTargetPath = launchExeTargetPath.toOSString();
+				String sExePath = exePathShort.toOSString();
+				if (sExePath.startsWith(sLaunchExeTargetPath) || sLaunchExeTargetPath.startsWith(sExePath))
 						files.add(new ExeFileToDebug(exePath.toOSString(), true));
 			}
 		} catch (Exception e) {