GNU/Linux >> Znalost Linux >  >> Linux

Jak používat Linux Strace Command

V tomto článku se naučíme Jak používat Linux Strace Command. Strace je výkonný nástroj příkazového řádku pro ladění a odstraňování problémů s programy v OS Linux. Zachycuje a zaznamenává všechna systémová volání uskutečněná procesem a signály přijaté procesem.

Zobrazuje název každého systémového volání spolu s jeho argumenty uzavřenými v závorkách a jeho návratovou hodnotou na standardní chybu; můžete jej také volitelně přesměrovat do souboru.

Normálně je strace k dispozici ve výchozím nastavení, pokud není přítomno ve vašem systému, nainstalujte strace pomocí následujícího příkazu:

dnf install strace

Můžete buď spustit příkaz se strace, nebo mu předat PID pomocí volby -p jako v následujících příkladech:

Sledování systémových volání příkazů Linux:

V tomto příkladu jednoduše spustíme příkaz „df -h“ následovaný strace pro sledování systémových volání příkazu df -h.

strace df -h

Výstup bude vypadat takto:

Z výše uvedeného výstupu můžete vidět různé typy systémových volání provedených příkazem df -h, například „open(“/etc/ld.so.cache”, O_RDONLY|O_CLOEXEC) =3″

Kde,

  • otevřené – je typ systémového volání
  • (“/etc/ld.so.cache”, O_RDONLY|O_CLOEXEC) – argument systémového volání
  • 3 – návratová hodnota systémového volání

Trace PID procesu Linux:

Pokud proces již běží, můžete jej vysledovat jednoduše předáním jeho PID do strace; toto vyplní vaši obrazovku pokračujícím výstupem, který ukazuje systémová volání prováděná procesem, pro ukončení stiskněte CTRL + C.

strace -p 7302

Chcete-li získat souhrn celkového času, volání a chyb systémového volání, použijte příznak -c, jak je uvedeno níže;

strace -pc 7583

Tisk ukazatele pokynů během systémového volání:

Parametr -i zobrazuje ukazatel instrukce v době každého systémového volání provedeného programem.

strace -i df -h

Zobrazit čas každého výstupního řádku trasování:

Můžete také vytisknout aktuální čas pro každý řádek ve výstupu trasování předáním parametru -t.

strace -t df -h

Tisk času příkazu stráveného v systémových voláních:

Chcete-li zobrazit časový rozdíl mezi začátkem a koncem každého systémového volání provedeného programem, použijte volbu -T.

strace -T df -h

Sledování pouze specifických systémových volání:

V níže uvedeném příkazu je trace=write znám jako kvalifikační výraz, kde „trace“ je kvalifikátor (jiné zahrnují signál, zkratku, verbose, raw, read nebo write) a „write“ je hodnota kvalifikátoru.

Následující příkaz ve skutečnosti ukazuje systémová volání pro tisk výstupu df -h na standardní výstup.

strace -e trace=write df -h

Některé další příkazy o kvalifikátoru trasování jsou následující:

strace -e trace=open,close df -h
strace -e trace=open,close,read,write df -h
strace -e trace=all df -h

Sledování systémových volání na základě určité podmínky:

Uvidíme, jak sledovat systémová volání týkající se dané třídy událostí. Následující příkaz lze použít ke sledování všech systémových volání zahrnujících správu procesů.

strace -q -e trace=process df -h

Dále k trasování všech systémových volání, která berou jako argument název souboru, použijte následující příkaz:

strace -q  -e trace=file df -h

Podobně můžete sledovat všechna systémová volání související se sítí, pamětí a signály pomocí následujících příkazů:

strace -q -e trace=memory df -h
strace -e trace=network df -h
strace -e trace=signal df -h

Přesměrovat výstup trasování do souboru:

Chcete-li zapsat trasovací zprávy odeslané na standardní chybu do souboru, použijte volbu -o. To znamená, že na obrazovce se vytiskne pouze výstup příkazu, jak je znázorněno níže.

strace -o strace_message.txt df -h

Všechna systémová volání byla zapsána v souboru strace_message.txt. Pro zobrazení systémových volání použijte příkaz cat.

cat strace_message.txt

Zobrazit výstup ladění Strace:

Chcete-li zobrazit informace o ladění nástroje strace, použijte parametr -d.

strace -d df -h

Závěrem lze říci, že strace je nástroj pro diagnostiku příčiny selhání programu. je to mocný nástroj pro ladění a odstraňování problémů. Je prakticky užitečný pro zkušené systémové administrátory, programátory a hackery.


Linux
  1. Jak používat Su Command v Linuxu

  2. Jak používat Linux Screen Command

  3. Jak používat příkazy strace a ltrace v Linuxu

  1. Jak používat Linux ftp Command

  2. Jak používat příkaz Disown v Linuxu

  3. Jak používat příkaz Linux SS

  1. Jak používat příkaz Linux nohup

  2. Jak používat htop ke sledování procesů systému Linux

  3. Jak používat du Command v Linuxu