Śledzenie wywołań systemowych za pomocą strace i ltrace
Pogłębi diagnozowanie problemów, śledząc wywołania systemowe i biblioteczne wykonywane przez proces, aby dokładnie ustalić, gdzie się on zatrzymuje lub kończy działanie błędem.
Śledzenie wywołań systemowych za pomocą strace i ltrace to bezpłatna lekcja Linux Command Line Mastery na CoddyKit. To lekcja 4 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Linux Command Line Mastery, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Linux Command Line Mastery zawiera 4 lekcji w sumie.
Części tej lekcji nie zostały jeszcze przetłumaczone i są wyświetlane po angielsku.
When Metrics Are Not Enough
CPU, memory, and I/O tools tell you that something is slow. To learn why, you trace what a process actually asks the kernel to do. strace and ltrace open that window.
What strace Shows
strace records every system call: file opens, reads, network sends, and their return values, including errors.
strace ls /tmpAttaching to a Running Process
Use -p PID to trace something already running, such as a stuck service.
sudo strace -p 4567Filtering Specific Calls
-e trace= limits output to calls you care about, e.g. only file-related ones.
strace -e trace=openat,read,write cat /etc/hostnameFinding Missing Files
A classic use: see which file a program fails to open. Look for ENOENT (no such file) in the output.
strace -e trace=openat myapp 2>&1 | grep ENOENTSummarizing with -c
-c prints a profile: which syscalls consumed the most time and how often each was called.
strace -c ls -R /usr/shareTiming Calls
-T shows how long each syscall took, and -t adds timestamps, pinpointing where a process blocks.
strace -T -e trace=read myappFollowing Child Processes
-f follows forks so you trace child processes too, essential for servers that spawn workers.
strace -f -p 4567Saving Output to a File
Traces are noisy; -o writes them to a file you can grep later without cluttering the terminal.
strace -o trace.log -f myappltrace for Library Calls
While strace shows kernel calls, ltrace shows library calls like malloc or strcmp, useful for logic-level debugging.
ltrace ./myprogramA Troubleshooting Recipe
When a service hangs: attach with strace -f -p, watch for a syscall that never returns (often a blocked read or connect), and you have found the stall.
Quick Check
What kind of activity does strace primarily reveal?
Recap
You can now trace a process at the syscall level:
strace cmdor-p PIDto attach-e trace=filters,-cprofiles,-T/-ttime-ffollows children,-osaves outputltraceshows library calls
Watch for errors like ENOENT or a syscall that never returns.
Ucz się Linux Command Line Mastery dzięki korepetycjom AI — za darmo
Pisz i uruchamiaj kod w przeglądarce, otrzymuj natychmiastową pomoc od korepetytora AI dostępnego 24/7 i kontynuuj naukę w sieci lub w aplikacji.
- Kursy
- 12
- Lekcje
- 48
Często zadawane pytania
Czy lekcja „Śledzenie wywołań systemowych za pomocą strace i ltrace” jest bezpłatna?
Tak — pełny tekst „Śledzenie wywołań systemowych za pomocą strace i ltrace” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Linux Command Line Mastery, przejdź na CoddyKit PRO. Kurs Linux Command Line Mastery zawiera 4 lekcji w sumie.
Co nauczysz się w „Śledzenie wywołań systemowych za pomocą strace i ltrace”?
Pogłębi diagnozowanie problemów, śledząc wywołania systemowe i biblioteczne wykonywane przez proces, aby dokładnie ustalić, gdzie się on zatrzymuje lub kończy działanie błędem. Ćwiczysz Linux Command Line Mastery z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Linux Command Line Mastery?
Nie wymagamy żadnego doświadczenia. Linux Command Line Mastery w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 4 z 4.
Ile czasu zajmuje lekcja „Śledzenie wywołań systemowych za pomocą strace i ltrace”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Linux Command Line Mastery?
Tak. Każda lekcja Linux Command Line Mastery zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Monitorowanie operacji wejścia/wyjścia dysku: `iostat`, `iotop`
- Narzędzia do monitorowania pamięci i procesora
- Zaawansowane techniki logowania i rozwiązywania problemów
- Śledzenie wywołań systemowych za pomocą strace i ltrace