Community
Participate
Working Groups
This used to work but was broken by the performance improvements in the Executables view at the beginning of the Indigo cycle. Basically, the Executables view fails to recognize new mappings caused by additions, removal or changes to the applicable source lookup paths for an executable. The only way to get it to honor the new mappings is to shutdown and relaunch Eclipse. 1. create a new workspace 2. create a Hello World ANSI C Project; call it 'app1' 3. copy the generated executable (app1.exe) to c:\temp 4. make two copies of the project's app1.c file; put one in c:\tempsrc1 and the other in c:\tempsrc2 5. in Eclipse, delete the project (select delete project contents on disk) 6. open the Executables view and select app1.exe Note the Location column shows the path where the source file was compiled and is grayed. This is expected/correct behavior 7. Add a global source look up path: a Path Mapping with the compilation path to the directory you saw in step 6 and the local path set to c:\tempsrc1 Note the location for app1.c is still grayed and not reflective of the mapping you just added 8. Hit the Refresh button in the Executables view Note the location for app1.c is still wrong 9. Delete app1.exe from the Executables view and re-add it Note the location for app1.c is still wrong 10. Close the Executables view and re-open it Note the location for app1.c is still wrong 11. Shutdown eclipse and relaunch it Note that, finally, the location for app1.exe correctly shows as c:\tempsrc1\app1.c The problem is with the use of fetchedExecutables in SourceFilesContentProvider. The view does respond to a change in the executable itself but not to a change in source locators which might affect the mappings. Whatever fix is coded needs to also work with a slightly more complicated scenario: have more than one executable in the Executables view. The other executables can be standard ones (not requiring source remapping). Ensure that the view ends up honoring the new mappings even when the affected executable is NOT selected.
BTW, the point of creating two copies of the source file in step (4) is for testing changing the source mapping from one local location to another. That needs to work just as well as transitioning from not having a mapping to having one.
*** This bug has been marked as a duplicate of bug 342141 ***