4 ms·
Talking about strace per the title without watching; wow is strace ever helpful! You can build an ordered tree of all the programs launched by a program, recur
by lelandbatey 3y ago
Talking about strace per the title without watching; wow is strace ever helpful!
You can build an ordered tree of all the programs launched by a program, recursively, using strace. You can do the same for observing files opened. It's an amazing tool when you need to observe some software from the outside; in many ways it'll give you much better understanding of a program than even reading it's source code.
- samsquire 3y agoThis would be an interesting GUI that could be in a web browser to cross reference effects between programs such as communication between programs and Wayland. Specifically the parameters of syscalls create an effect, like write to block. Wireshark for syscalls. I think it already exists. I kind of think of the interactions with the OS as the "effects" of the application like the IO Monad. It's like a protocol too, function application in a certain order causes the effects of the software. The syscalls is a stream. There is also a inner protocol between the buffers of binary protocols inside the syscalls such as a network buffer.
- eesmith 3y agoYou should watch the video then, as it goes into more details about new strace features introduced in the last few years, like print only system calls with a specified return status (successful, failed, etc.). I'm particularly intrigued about what I can do with system call tampering. I like the example of being able to make unlink() be a no-op, giving you easy access to a temporary file which is normally automatically cleaned up.