GNU/Linux >> Znalost Linux >  >> Linux

Jak se má strace používat?

Jednoduše řečeno, strace sleduje všechna systémová volání vydaná programem spolu s jejich návratovými kódy. Přemýšlejte o věcech, jako jsou operace se soubory/sokety a mnohem více obskurní.

Je to nejužitečnější, pokud máte nějaké pracovní znalosti jazyka C, protože zde by systémová volání přesněji znamenala volání standardní knihovny C.

Řekněme, že váš program je /usr/local/bin/cough. Jednoduše použijte:

strace /usr/local/bin/cough <any required argument for cough here>

nebo

strace -o <out_file> /usr/local/bin/cough <any required argument for cough here>

zapsat do 'out_file'.

Veškerý strace výstup půjde do stderr (pozor, jeho naprostý objem často vyžaduje přesměrování do souboru). V nejjednodušších případech se váš program přeruší s chybou a vy budete moci vidět, kde byly jeho poslední interakce s OS ve strace výstupu.

Další informace by měly být k dispozici na adrese:

man strace

Přehled trasování
strace lze považovat za lehký debugger. Umožňuje programátorovi / uživateli rychle zjistit, jak program interaguje s OS. Dělá to monitorováním systémových volání a signálů.

Použití
Dobré, když nemáte zdrojový kód nebo se nechcete obtěžovat jeho procházením.
Také užitečné pro váš vlastní kód, pokud se necítíte na otevření GDB, ale chcete pouze porozumět externí interakci.

Dobrý malý úvod
Zde je jemný úvod do používání strace k ladění zablokování procesu:strace úvod


Linux
  1. Jak citovat Ubuntu v akademické práci?

  2. Jak vyměnit vadné zařízení Btrfs

  3. Ubuntu:jak sdílet port 53 používaný systemd-resolved

  1. Jak sledovat IO operace jednotlivých souborů v Linuxu?

  2. Jak lze v makefile použít funkci eval?

  3. Jak používat dos2unix?

  1. Pochopení systémových volání na Linuxu pomocí strace

  2. Kolik volného místa na disku bych měl mít na svém serveru?

  3. Jak velký by měl být swapovací oddíl?