Description
Hello,
I am currently using libbacktrace for the following reasons:
- the license (libbfd can't really be shipped in anything professional)
- its ease of use
- its code is way easier to read than binutils'
And so far it's great!
However I'm reaching a point where I'd like to be able to do symbol resolution once the process is dead.
I already save the necessary information required to identify files that are needed (usually file path / buildid) and realized there is not a lot of things missing to make libbacktrace support symbol resolution out of process. The idea is that instead of "invading" the process (I'm stealing Windows' DbgHelp term here) and load information for the current process, the user could create a session (state) for any process it wants, and load debug information using the recorded file/buildid + base address.
Would you be open to the idea of adding an API to support such use case?
I can see two obstacles for this:
- it will make the library a bit bigger / out of scope
- we may want to support all formats variation at the same time at some point, not just the current one (so that for example you can resolve symbols of coff on a machine using elf). This is however not necessary in a V1.
I do believe (at least from what I read so far) it will not be that much work, which I'm ready to do. So my question mostly is, should I just hack it for my personal use, or is it something you would welcome upstream?
Thanks a lot.