error::fault - chyba přístupu do paměti
Během činnosti systemtap skriptu může nastat chyba
čtení nebo zápisu, pokud se sktipt pokusí
dereferencovat neplatný ukazatel. To může nastat
při použití kontextových proměnných,
které nemají platnou hodnotu, nebo případně
při přístupu do paměti, která byla
odstránkována na disk.
Tyto chyby jsou benigní, neboť je lze zachytit za běhu a
korektně obsloužit. Pokud bezprostřední
ukončení není žádoucí,
následující volby mohou být
užitečné:
--skip-badvars nebo
--suppress-handler-errors nebo
-DMAXERRORS=NN","
případně obalení relevantních
částí kódu
try/
catch blokem.
Možností je také upravit zkoumaný program tak, aby
nedošlo k odstránkování
důležitých dat. Jednou z možností je
přidat nějaké nenáročné operace s
danými daty, jako například
strlen(foo) pro
string, nebo iterování přes prvky pole, či
lineárního seznamu, případně
přečíst několik bajtů v bloku na
haldě. Cílem je vyvolat "page fault"
dříve než se bude k daným datům
pokoušet přistoupit systemtap.
stap(1),
error::reporting(7stap)