Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [cdt-dev] Support source lookup using gdb's "set substitute path"

Hi Tracy,

I agree that this proposal looks valuable.  The issue now is getting it reviewed.
Sadly, I'm personally finding it difficult these days to find time for code reviews.
On the other hand, we have more committers on Debug than we had in the past.
I'll bring it up internally when we do our planning to see if we can make some
space for it.

I think you have the right approach in reminding us that there is such a review pending.
Rebasing the patch on gerrit once in a while also helps with visibility.  Pinging on the bug
is another way.  I'm expecting that with some patience for our slow response time and
some more patches of the quality we've seen from Jonah, we will be able to nominate him
as a new committer.

Thanks for your patience and we should find someone to have a look soon.


From: cdt-dev-bounces@xxxxxxxxxxx [cdt-dev-bounces@xxxxxxxxxxx] on behalf of Tracy Miranda [tracy@xxxxxxxxxxxxxxxx]
Sent: September 14, 2015 7:28 AM
To: CDT General developers list.
Subject: [cdt-dev] Support source lookup using gdb's "set substitute path"

Hi all,

At the last multicore debug meeting, we began discussing using gdb's "set substitute path", here's the summary from the minutes
  • CDT path mappings were added before this support from GDB
  • Using GDB's feature instead would allow the GDB console to show all the proper paths
  • Can we use this GDB feature to power the CDT path mapping feature?
The current source lookup solution works well for the most part. However we keep running into various issues with source look up that cannot be easily solved with the current framework. do with relative paths. A quick search turns up about a dozen other bugs we feel would be resolved based on source lookup using the set-substitue-path mechanism[1]. Long term we feel this will be a much more robust solution and provide a better user experience.

We've been able to implement a source look up solution based on set-substitute-path that Renesas are using in their e2studio. We would like to make this available generally for CDT 9.0.

The general approach of this new solution would be:
  • Creation of a new source container type that supports this mechanism
  • If used this mapping issues an appropriate 'set substitute path' mi command to GDB which means GDB is effectively handling the mapping itself
  • CDT code no longer has to maintain mappings itself
  • A first version of this was submitted in bug 472765
We are considering the best way to go about making this available in CDT.

Any thoughts/input would be appreciated.


[1] Source look up bugs that are fixed using this mechanism
477057 - Source "Path Mapping" of relative paths do not work with breakpoints
408389 - Source lookup gets confused by invalid fullname returned by GDB129349 - Source lookup doesn't handle paths properly
225805 - [sourcelookup] Sourcelookup handling does not scale to large projects

235181 - [source lookup] Get rid of dependency on CSourceLookupDirector
202375 - [source lookup] Add source "lookup changed events" to source lookup service.
159954 - [source lookup] Browse to source wizard.
327167 - Path mapping editor converts normal slashes to backslashes
377387 - Breakpoint with MinGW and some Cygwin path mapping set

Back to the top