4 ms·
What a cool way to learn. I've been doing this 20 years and it never occurred to me to just unravel some of the basic tools I use every day and see if it matche
by bhuga 8y ago
What a cool way to learn. I've been doing this 20 years and it never occurred to me to just unravel some of the basic tools I use every day and see if it matches my expectations.
- msla 8y agoI particularly like using strace/dtrace/dtruss to show the communications between the user process and the kernel. You can learn some very interesting system calls like that, and see how experienced programmers use them. There's another tool of that variety: ltrace shows calls to functions in dynamically-loaded libraries. It... works, mostly, but it doesn't know things like function type signatures, so it has to guess, and sometimes gets it wrong in weird ways. It also doesn't know defines and enums, so it can't turn numbers back into symbolic constants like strace and its close kin can: https://en.wikipedia.org/wiki/Ltrace https://en.wikipedia.org/wiki/Ltrace
- jwilk 8y agoFor tracing functions, there's also latrace: https://people.redhat.com/jolsa/latrace/index.shtml https://people.redhat.com/jolsa/latrace/index.shtml
- lathiat 8y agoThanks for the link, I've mostly been focussing on perf and bpf related things but TIL about LD_AUDIT http://man7.org/linux/man-pages/man7/rtld-audit.7.html http://man7.org/linux/man-pages/man7/rtld-audit.7.html