I’ve read this neat series of articles a little while ago, and it shows how to get a simple home-grown debugger up and running:
But there was also another article, about writing an strace-equivalent (and quite a bit more) using
ptrace (2): (It gets into emulating syscalls for different systems and faking/disallowing system calls even.)
And switching topics, entirely, here’s an article about returning to ballet and learning. I really liked that one, because I also struggle trying to learn new things, which seemed to be easy when I was a bit younger. But often when I try to practice something, I do learn a little bit, even if it doesn’t really feel that way.