Beheersing van de Linux-opdrachtregel · Les

Systeemaanroepen traceren met strace en ltrace

Ga dieper in op het oplossen van problemen door de systeem- en bibliotheekaanroepen van een proces te traceren en precies zichtbaar te maken waar het vastloopt of faalt.

Les 4 van 413 stappen

Systeemaanroepen traceren met strace en ltrace is een gratis Beheersing van de Linux-opdrachtregel-les op CoddyKit. Dit is les 4 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Beheersing van de Linux-opdrachtregel. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Beheersing van de Linux-opdrachtregel bevat in totaal 4 lessen.

Wanneer metrieken niet genoeg zijn

CPU-, geheugen- en I/O-hulpmiddelen laten je zien dat iets traag is. Om te ontdekken waarom, traceer je wat een proces daadwerkelijk aan de kernel vraagt. strace en ltrace bieden daar inzicht in.

Wat strace laat zien

strace registreert elke systeemaanroep: het openen en lezen van bestanden, netwerkverzendingen en hun retourwaarden, inclusief fouten.

strace ls /tmp

Koppelen aan een actief proces

Gebruik -p PID om iets te traceren dat al actief is, zoals een vastgelopen service.

sudo strace -p 4567

Specifieke aanroepen filteren

-e trace= beperkt de uitvoer tot de aanroepen die je nodig hebt, bijvoorbeeld alleen aanroepen die met bestanden te maken hebben.

strace -e trace=openat,read,write cat /etc/hostname

Ontbrekende bestanden vinden

Een klassiek gebruik: bekijk welk bestand een programma niet kan openen. Zoek naar ENOENT (zo'n bestand bestaat niet) in de uitvoer.

strace -e trace=openat myapp 2>&1 | grep ENOENT

Samenvatten met -c

-c drukt een profiel af: welke systeemaanroepen de meeste tijd kostten en hoe vaak elke aanroep is uitgevoerd.

strace -c ls -R /usr/share

Aanroepen timen

-T laat zien hoe lang elke systeemaanroep duurde, en -t voegt tijdstempels toe, zodat je precies ziet waar een proces blokkeert.

strace -T -e trace=read myapp

Onderliggende processen volgen

-f volgt forks, zodat je ook onderliggende processen traceert. Dat is essentieel voor servers die werkprocessen starten.

strace -f -p 4567

Uitvoer naar een bestand opslaan

Traces bevatten veel ruis; -o schrijft ze naar een bestand dat je later met grep kunt doorzoeken zonder de terminal onoverzichtelijk te maken.

strace -o trace.log -f myapp

ltrace voor bibliotheekaanroepen

Waar strace kernel-aanroepen laat zien, toont ltrace bibliotheekaanroepen zoals malloc of strcmp, wat handig is voor foutopsporing op logicaniveau.

ltrace ./myprogram

Een recept voor probleemoplossing

Wanneer een service blijft hangen: koppel je met strace -f -p, let je op een systeemaanroep die nooit terugkeert (vaak een geblokkeerde read of connect) en heb je de oorzaak van het vastlopen gevonden.

Snelle controle

Welk soort activiteit brengt strace voornamelijk aan het licht?

Samenvatting

Je kunt nu een proces op het niveau van systeemaanroepen traceren:

  • strace cmd of -p PID om een proces te koppelen
  • -e trace= filtert, -c maakt een profiel, -T/-t meet de tijd
  • -f volgt onderliggende processen, -o slaat de uitvoer op
  • ltrace toont bibliotheekaanroepen

Let op fouten zoals ENOENT of een systeemaanroep die nooit terugkeert.

Gratis beginnen

Leer Beheersing van de Linux-opdrachtregel met een AI-tutor — gratis

Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.

Cursussen
12
Lessen
48

Veelgestelde vragen

Is de les “Systeemaanroepen traceren met strace en ltrace” gratis?

Ja — de volledige tekst van “Systeemaanroepen traceren met strace en ltrace” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus Beheersing van de Linux-opdrachtregel wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus Beheersing van de Linux-opdrachtregel bevat in totaal 4 lessen.

Wat leer ik in “Systeemaanroepen traceren met strace en ltrace”?

Ga dieper in op het oplossen van problemen door de systeem- en bibliotheekaanroepen van een proces te traceren en precies zichtbaar te maken waar het vastloopt of faalt. Je oefent met Beheersing van de Linux-opdrachtregel door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.

Heb ik ervaring nodig om met Beheersing van de Linux-opdrachtregel te beginnen?

Ervaring vooraf is niet nodig. Beheersing van de Linux-opdrachtregel op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 4 van 4.

Hoe lang duurt de les “Systeemaanroepen traceren met strace en ltrace”?

De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.

Kan ik code schrijven en uitvoeren in deze les over Beheersing van de Linux-opdrachtregel?

Ja. Elke les over Beheersing van de Linux-opdrachtregel bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.

Alle lessen in deze cursus

  1. Schijf-I/O monitoren: `iostat`, `iotop`
  2. Tools voor geheugen- en CPU-prestaties
  3. Geavanceerde technieken voor logging en probleemoplossing
  4. Systeemaanroepen traceren met strace en ltrace
← Terug naar Beheersing van de Linux-opdrachtregel