Ugrás a tartalomhoz

strace

A Wikiszótárból, a nyitott szótárból


Főnév

strace (tsz. straces)

  1. (informatika) A strace egy Linuxon használható parancs, amellyel egy futó folyamat vagy egy elindított program rendszerhívásait (system calls) és az azokhoz tartozó jeleket (signals) lehet nyomon követni. Nagyon hasznos hibakereséshez, mert megmutatja, hogy a program pontosan milyen műveleteket kér az operációs rendszertől.



strace fő funkciói magyarul:

  • Rendszerhívások (system calls) megfigyelése:

Például open, read, write, execve, close, stb.

  • Visszatérési értékek követése:

Minden hívás után megmutatja, hogy sikeres volt-e és mit adott vissza.

  • Hibaüzenetek felismerése:

Ha egy rendszerhívás hibára fut (pl. ENOENT – fájl nem található), az rögtön látszik.

  • Folyamatok közötti kommunikáció (IPC) és szignálok követése.
  • Kimenet rögzítése fájlba (-o opcióval).



Alap parancsok:

  • Egy program elindítása és követése:
strace ./programnev
  • Egy már futó folyamat követése (PID alapján):
strace -p <pid>
  • Csak fájlműveletek követése:
strace -e trace=file ./programnev
  • Kimenet mentése fájlba:
strace -o kimenet.txt ./programnev
  • Több folyamatot figyelni (fork esetén is):
strace -f ./programnev

Egyszerű példa:

strace ls

Ez kilistázza, hogy az ls parancs milyen rendszerhívásokat használ (például fájlok megnyitása, olvasása).



Tipikus hasznos felhasználások:

  • Megnézni, miért nem indul el egy program (rossz útvonal, hiányzó fájl).
  • Melyik fájlokhoz próbál hozzáférni a program.
  • Fájlműveletek, hálózati kapcsolatok, vagy memóriaműveletek követése.
  • Késlekedések (slow I/O) forrásának felderítése.