Obecnie nie potrafię sobie wyobrazić porządnego debugowania/troubleshootingu bez strace`a. Dzięki niemu jestem w stanie śledzić wywołania systemowe i wychwytywać wszelkie błędy w oprogramowaniu w sytuacjach gdy logi już nie wystarczają. Dodatkowo zawsze jest to ciekawie obejrzeć działanie “od kuchni”.
Jak używać strace`a? Najłatwiej poprzedzić wywołanie programu poleceniem strace. Częściej jednak będziemy chcieli sprawdzić co robi dany proces uruchomiony już w tle. Wówczas należy wywołać:
strace -p PID_PROCESU
Jeśli program tworzy forki to również warto dodać parametr -f śledzący jego procesy potomne.