Strace
Strace je uživatelský počítačový program pro Linux, který umožňuje sledovat (a případně i pozměňovat) komunikaci mezi procesy a linuxovým jádrem, tedy zejména systémová volání a signály. Využívá k tomu speciální systémové volání ptrace. Jedná se o svobodný software naprogramovaný v C a dostupný pod licencí GNU LGPL. Je dostupný na celé řadě platforem včetně x86, SPARC, MIPS a RISC-V.
Aktuální verze | 5.12 (26. dubna 2021) |
---|---|
Operační systém | Linux |
Vyvíjeno v | C |
Typ softwaru | konzolová aplikace a svobodný software |
Licence | GNU Lesser General Public License, version 2.1 or later |
Web | strace |
Některá data mohou pocházet z datové položky. |
První verze programu vznikla pro operační systém SunOS v roce 1991 a napsal ji Paul Kranenburg. V listopadu 1992 jej Branko Lankester portoval na Linux. Richard Sladkey později obě větve sloučil a v roce 1994 uvolnil verzi 3.0 fungující i na System V a Solarisu. Později byla začleněna i podpora FreeBSD, ale od verze 4.7 uvolněné v květnu 2012 je podporován opět pouze Linux. Jiné operační systémy mají pro stejný účel jiné nástroje, zejména ktrace (Mac OS X, OpenBSD, NetBSD, FreeBSD), DTrace (FreeBSD, NetBSD, Solaris) a truss (AIX). Kromě toho přímo na Linuxu existují podobně fungující programy ltrace (pro sledování volání knihoven), xtrace (pro sledování volání služeb X Window systému, SystemTap, perf, a trace-cmd a KernelShark rozšiřující ftrace.
Odkazy
Literatura
- MITCHELL, Mark; OLDHAM, Jeffrey; SAMUEL, Alex. Pokročilé programování v operačním systému Linux. první. vyd. Praha: Softpress, 2002. 320 s. ISBN 80-86497-29-1. Kapitola 8.1 Příkaz strace, s. 180–181.
- JELÍNEK, Lukáš. Jádro systému Linux. první. vyd. Brno: Computer Press, 2008. ISBN 978-80-251-2084-2. Kapitola III./4. Ladění a testování, s. 279–280.
Externí odkazy
- Domovská stránka (anglicky)
- KRAUSE, Michal. Trasujeme se strace. Root.cz [online]. 2001-03-12. Dostupné online. ISSN 1212-8309.
- TIŠNOVSKÝ, Pavel. Trasování a ladění nativních aplikací v Linuxu. Root.cz [online]. 2016-05-12. Dostupné online. ISSN 1212-8309.