/ministrace

Minimum viable strace in Go.

Primary LanguageGoMIT LicenseMIT

ministrace

Minimum viable strace in Go.

Strace in Go 🔍

strace is the system-call tracer, which traces the calls that a program makes into the kernel in order to interact with the outside world.

This code uses unix package which is platform dependent, hence there's a dockerfile which you can use to run this code!

docker run -it --security-opt seccomp=unconfined <image_name>

Since, ptrace(the syscall that strace implementation uses) allows you to look at and modify the registers of a program(which is pretty shady you'd need to disable seccomp mode.

Inspired by strace in C and by Julia Evans' zine