Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [cdt-dev] Debugger Source File Lookup

I don't understand how you could have this problem. Can you try to reproduce it with a simple project using stock CDT?
I don't either. I'm not the only one that's reported this problem (see link in my last post). I just failed to reproduce it in a very simple makefile project like this:

2mains/a/main.cpp
2mains/b/main.cpp
2mains/makefile

The makefile just builds b/main.cpp. When I debug this, it breaks in the correct place, b/main.cpp. My project has many more subprojects, each with their own makefiles that get invoked by the top level makefile. I am currently using the CDT bundled with Galileo.

When the debugger looks for a file, it does so by using source locators. The source locators used for a debug session are the ones in the launch configuration (and any defined in the global preferences). The Absolute File Path is a locator which finds the file by looking for it at exactly the location specified in the specification. So if the specification is an absolute path, that locator looks for it at exactly that location.
So the "Absolute File Path" locator looks for files using an absolute path, and the Project locator looks for files relative to the project root? This seems straightforward.
 
The locators are used in the order in which they appear in the GUI, and the Absolute one is first, so your problem doesn't make sense to me. Thus, if you could help us reproduce it here, we can take a look and see if there's a bug abound.
It seems to me the debugger should be able to figure out the difference between /src/projectRoot/a/main.cpp and /src/projectRoot/b/main.cpp regardless of whether it is using relative or absolute paths to lookup files first. Are you implying that the debugger can only correctly find /src/projectRoot/b/main.cpp when it uses the Absolute File Path locator?

Back to the top