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