Co to jest strace?

W świecie Linuksa, większość operacji, jakie wykonuje program – od otwarcia pliku, przez połączenie z siecią, aż po odczytanie czasu – odbywa się za pośrednictwem wywołań systemowych (system calls). Są to specjalne funkcje jądra, które programy “proszą” o wykonanie niskopoziomowych zadań.

strace (skrót od “system call trace”) to potężne narzędzie diagnostyczne, które pozwala na “podsłuchanie” i wyświetlenie wszystkich tych wywołań systemowych, jakie wykonuje dany proces w czasie rzeczywistym. Dzięki temu możemy dokładnie zobaczyć, co program robi “pod maską”.