From issue #70 - Compiling strace as a Library

Preston Moore prestonkmoore at
Tue Jun 5 04:37:33 UTC 2018

Hey everyone,

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 mailing list