From issue #70 - Compiling strace as a Library
prestonkmoore at gmail.com
Tue Jun 5 04:37:33 UTC 2018
Esyr informed me via GitHub that most development discussions takes place here. Here’s my original issue text:
Hey everyone. As part of another project I needed to enhance the rr debugger to output system call information in strace's format as the application under debug was executing. I hacked together something that got the job done by compiling strace into a static library and directly calling the entry and exit decode/trace/finish functions after setting the required state. I had to to supply a my own umoven() and umovestr() as well. Is this a feature for which there might be an audience if it could be put together in a clean enough fashion? I likely won't have the time to do the required reorganization to make things publishable but I would be glad to help out if someone thinks this is interesting enough to take on.
Either way, the project has my appreciation for maintaining a codebase that is easy to understand and work with.
As I now understand, doing this correctly would be a pretty major undertaking. I’ve got things working for my specific case and have published a repo containing the modifications I made and some docs on what I needed to do in order to configure strace’s state in order to get output.
Once again, this is definitely a poorly implemented hack that shouldn’t be used for anything serious. I figured I’d throw it out there on the chance its useful to anyone.
More information about the Strace-devel