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ě.