Hi Everybody

Currently debugging using sysroots seems to work as long as the work folder 
containing the original source is available.
Once this work dir is gone the debugger is no longer able to find the source 
code. This is especially confusing if some packages are taken from sstate and 
others are built in the current projects, because for some libraries the 
sources can be found and for others not. It is hard at first to figure out the 
reason why one works and the other not.

In order to make it easier to debug using sysroots I propose to modify the how 
the sysroots is built to do somethins similar to rootfs:

1. Changing the source reference in the debug symbols to point to the source 
under /usr/src/debug
2. Copy the sources into /usr/src/debug under sysroots similar to how it is 
done for a debug rootfs.
3. Document that the user needs to add the following to the .gdbinit to make it 
work:
    ```
    set sysroot /project/oe/build/tmp/sysroots/<target_sysrtoot>
    set substitute-path /usr/src/debug 
/project/oe/build/tmp/sysroots/<target_sysrtoot>/usr/src/debug
    ```

This would also allow the sysroot to be relocatable as it is kind of standalone 
and everything required to debug is included.

What do you think? Does this proposal make sense, or did I miss something and 
this is completly unnecessary and there is an easier way already working?

Regards
Pascal
-- 
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to