Provided by: systemtap-doc_5.1-5_amd64 

JMÉNO
error::pass2 - chyby procesní fáze 2
POPIS
Chyby, které se mohou vyskytnout během procesní fáze 2 mají řadu příčin. Mezi ty nejobvyklejší patří:
chybějící ladicí informace
Skript potřebuje ladicí informace pro lokalizaci sondážního bodu, ale ladicí informace nejsou
doustupné. Více podrobností naleznete v manuálových stránkách error::dwarf(7stap) a
warning::debuginfo(7stap).
nedostupná třída sondážních bodů
Některé sondážní body jsou specifické pro verzi, architekturu, nebo konfiguraci. Například sondy
pro uživatelské procesy process.* mohou vyžadovat jadernou funkcionalitu "utrace", nebo "uprobes".
nedostupné sondážní body
Některé sondážní body mohou být nedostupné i když jejich třída dostupná je. Například
kprobe.function("foobar") může selhat pokud funkce foobar byla z jádra odstraněna. Pro některé
symboly mohou chybět ladicí informace. Tím obvykle trpí sondážní body .function nebo .statement .
Přesvědčte se o dostupnosti ladicích informací. Vyzkoušejte program stap-prep který umí
nainstalovat chybějící závislosti. Použijte zástupný symbol jako např. stap -l
'kprobe.function("*foo*")' abyste zjistili dostupné varianty sondážního bodu. Použijte
modifikátory ! nebo ? pro vyznačení volitelnosti, či dostatečnosti daného sondážního bodu, aby
funkční části skriptu mohly pokračovat v činnosti.
překlepy
V specifikaci sondážních bodů mohou být překlepy, jako např. ("sycsall" vs. "syscall"). Zástupné
symboly nemusejí být expandovatelné ani na jeden validní sondážní bod. Ověřte platnost/existenci
sondážních bodů pomocí stap -l FILTR. Další běžnou chybou je použití chybného operátoru
dereference: . namísto správného ->. Příklad správného použití je $foo->bar->baz ačkoliv v C by
správný zápis byl foo->bar.baz.
nedostupné kontextové proměnné
Systemtap skripty se často pokoušejí přistoupit ke kontextovým proměnným v analyzovaném kódu
prostřednictvím syntaxe $variable . Dostupnost takových proměnných může záviset na verzi
kompilátoru, zvolené optimalizaci, architektuře atd. Použijte stap -L FILTR k vypsání dostupných
kontextových proměnných pro danou sondu. Použijte @defined() pro ověření dostupnosti proměnné v
rámci skriptu. Zvažte použití volby stap --skip-badvars čímž se nedostupné kontextové proměnné
tiše přeskočí, a jejich hodnota se automaticky nastaví na 0. Experimentujte s volbou
--prologue-searching.
nekonzistentní cache
Občas může cache systemtap modulu ($HOME/.systemtap/cache) obsahovat zastaralé informace. Pomocí
přepínače stap --poison-cache ... lze obsah cache zneplatnit. Poznámka: Toto by se nemělo stát,
jde o chybu. Prosím, nahlaste ji.
VÍCE INFORMACÍ
Upovídanost procesní fáze 2 lze zvýšit pomocí --vp 02.
VIZ TÉŽ
stap(1),
stap-prep(1),
stapprobes(3stap),
probe::*(3stap),
error::dwarf(7stap),
error::inode-uprobes(7stap),
warning::debuginfo(7stap),
error::reporting(7stap)
ERROR::PASS2(7stap)