strace
Megjelenés
Főnév
strace (tsz. straces)
- (informatika) A
straceegy 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 (
-oopció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.