Provided by: systemtap-doc_4.7-1_amd64 bug

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)