Trasování je v informatice specializovaný zápis informací o běžícím programu (datalogger), které využívá zejména programátor pro ladění nebo mohou být využity pokročilým správcem systému pro diagnostické účely, případně též pro technickou podporu. Často dochází k záměně trasování a logování (viz dále).

Logování versus trasování Rozdíl mezi trasováním a logováním není vždy jasný. Trasování využívá zejména programátor, logování pak správce počítačového systému. Záznamy logů jsou v unixových systémech umístěny v adresáři /var/log, v systémech řady Windows NT je lze zobrazit nástrojem Prohlížeč událostí.

Určení rozdílů mezi logováním a trasováním není jednoduché, protože některé technologie se používají pro trasování i pro logování. Následující tabulka vymezuje důležité, ale nedostatečně přesné rozdíly mezi nimi.

Logování událostí Trasování Zkoumá administrátor Zkoumá vývojář Logování „high level" informace (například neúspěšná instalace programu) Logování „low level" informace (například zamítnuté výjimky)Nesmí být „noisy", což znamená, že obsahuje mnoho opakujících se událostí, které nejsou potřebné Může být „noisy" Standardní výstupní formát je často vhodný, někdy požadovaný Málo omezený výstupní formát Události logu jsou často lokalizovány Lokalizace není častá Přidáním nového typu události stejně jako nové zprávy nemusí být aktivní Přidání nové zprávy musí být aktivní

Logování událostí Logování událostí poskytuje správci systému užitečné informace pro diagnostiku a auditování. Událostí je každá významná situace ať už v systému nebo programu, která vyžaduje pozornost uživatele nebo záznam do protokolu. Z protokolu je pak možné zjistit informace o součástech systému a sledovat například zabezpečení v místním nebo vzdáleném počítači.

Trasování Trasování programu poskytuje vývojáři informace, které jsou užitečné pro odstranění chyb v programu. Tyto informace jsou nejen užívány během vývojového cyklu, ale také po uvolnění programu. Oproti logování události, trasování obvykle nesouvisí s konceptem událostních tříd nebo kódováním události. Dalšími důvody, proč logování založené na kódování události není vhodné pro trasovaní softwaru jsou:

protože trasování softwaru je „low-level", je zde mnoho typů zpráv, které by měly být definovány, mnoho z nich je možné použít jen na jednom místě protože se předpokládá, že výstup z trasování, bude využívat vývojář, nemusí být tedy lokalizován jsou zde zprávy, které by neměly být nikdy zobrazeny trasovací zprávy by měly být obsaženy ve zdrojovém kódu, protože mohou usnadnit jeho čitelnost

Technologie a techniky Trasování (software): trasovací makro výstup z debugeru (například ) Aspect oriented programming and related instrumentation techniques Windows software trace preprocessor (aka WPP) Linux system level and user level tracing with Kernel Markers and LTTng

Logování událostí: syslog (viz článek pro určité specifikace) Event Logging APIs for Microsoft Windows Windows Event Log (new for Windows Vista)

Vhodné pro oboje: Apache logging Event Tracing for Windows Java logging APIs Visual Basic logging (for Visual Basic .NET) Logcheck: open source utilita určená pro správu logu LogMX: a universal log/trace viewer (commercial) X-Trace (research project) Instruction set simulation

Související články Ladění (programování) Profilování (programování)

Externí odkazy The Tracing Book

Kategorie:Programování