error::pass1 - chyby procesní fáze 1
Chyby, které se vyskytnou během procesní fáze 1
(Pass 1) jsou obvykle syntaktického charakteru. Lze je rozdělit
do následujících tříd:
- prostá syntaktická chyba
- Lexikální analyzátor systemtapu
dokáže detekovat širokou škálu chyb
jako např. chybějící operandy, nebo
oddělovače. Snaží se vypsat seznam
vstupů, které očekával, ale nedostal.
Zároveň označuje oblast kódu ve které
se chyba vyskytla. Manuálová stránka stap(1)
a/nebo systemtap tutoriál jsou vhodné reference pro studium
syntaxe skriptovacího jazyka.
- nejednoznačnosti gramatiky
- Gramatika skriptovacího jazyka obsahuje
nejméně jednu nejednoznačnost. Vztahuje se k
volitelnému oddělovači ;
(středník) a operátory inkrementu a dekrementu
++ a -- . Pokud parser detekuje tento typ chyby,
zvažte vložení oddělovače ; mezi
sousedící příkazy.
- chybějící argumenty
příkazové řádky
- Systemtap skript, který používá
syntaktické konstrukce $N a @N pro substituci
parametrů příkazové řádky,
nemusí fungovat správně, pokud některé
parametry na příkazové řádce
chybí.
- změny v kompatibilitě mezi verzemi
systemtapu
- Některé verze systemtapu přinesly
nekompatibilní změny skriptovacího jazyka, jako
například přidání
klíčových slov "try" a "catch"
pro obsluhu výjimek. V takových případech lze
systemtap spustit v režimu zpětné kompatibility
pomocí přepínače
--compatibility=VERSION kde VERSION je poslední
známá verze systemtapu, se kterou skript fungoval.
Významné změny se zaznamenávají v
souboru NEWS.
Zvýšením upovídanosti pro procesní
fázi 1 (
--vp 1 ) lze získat
podrobnější informace o chybě.
stap(1),
error::reporting(7stap)