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

JMÉNO

       warning::debuginfo - varování ohledně chybějících ladicích informací

POPIS

       Pro  mnoho  symbolických  sondážních  operací  potřebuje  systemtap ladicí informace DWARF
       generované kompilátorem při použití CFLAGS -g. Obvykle jsou ladicí informace  potřeba  pro
       nalezení  sond  pro  funkce,  příkazy, nebo kontextové proměnné. Ladicí informace se mohou
       nacházet buď přímo v binárních souborech, nebo mohou být odděleny do samostatných souborů,
       které se hledají v závislosti na nastavení proměnné prostředí SYSTEMTAP_DEBUGINFO_PATH.

       Ověřte  zda  jsou pro vaši distribuci dostupné "debuginfo" balíčky s ladicími informacemi.
       Pokud tyto balíčky k dispozici nemáte, může být nutné programy, které  chcete  analyzovat,
       znovu sestavit tak, aby obsahovaly také ladicí informace DWARF.

       Systemtap  používá  knihovnu  elfutils  ke  zpracování  ELF/DWARF  souborů.  Použitá verze
       elfutils odpovídá číslu za lomítkem ve výstupu příkazu stap-V output:

              % stap -V
              Systemtap translator/driver (version 2.3/0.156, rpm 2.3-1.fc19)
              Copyright (C) 2005-2014 Red Hat, Inc. and others
              [...]

       Ukazuje, že systemtap byl sestaven s elfutls verze 0.156.

       ladicí informace jádra
              Pro skripty, které analyzují linuxové jádro, může  systemtap  potřebovat  příslušný
              soubor  vmlinux  vzniklý  při  sestavování  jádra.  Poznamenejme,  že  zde  nejde o
              zkomprimovaný soubor vmlinuz , na který se odkazuje boot loader, a ze kterého  byly
              ladicí  informace  odstraněny.  Soubor  vmlinux je značně větší, než vmlinuz. Pokud
              sestavujete jádro ručně, ujistěte se, že máte zapnutou  volbu  CONFIG_DEBUG_INFO=y.
              Navíc  některé linuxové distribuce mohou poskytovat více variant jádra a pro každou
              variantu samostatný balíček s ladicími informacemi. Příkladem  takové  varianty  je
              kernel-debug,  varianta  s matoucím názvem, která má vlastní kernel-debug-debuginfo
              balíček (což není totéž  jako  kernel-debuginfo  obsahující  ladicí  informace  pro
              balíček kernel). Program stap-prep může pomoci s instalací správných balíčků.

       ladicí informace pro uživatelské procesy
              Pro   SystemTap  skripty,  které  analyzují  uživatelské  procesy,  může  systemtap
              potřebovat příslušné ladicí  informace  také.  Pokud  analyzujete  ručně  sestavený
              program, použijte pro jeho překlad CFLAGS=-g -O2 .

       minidebuginfo
              Na  některých  systémech  mohou  binární  soubory  obsahovat  podmnožinu  obvyklých
              ladicích informací pro sledování funkcí a generovaní výpisů 'backtrace'. Tohle tzv.
              'MiniDebugInfo'   představuje   xz   zkomprimovanou   ELF   sekci   .gnu_debugdata.
              MiniDebugInfo je podporováno elfutils 0.156, nebo novější verze.

       komprimované debuginfo
              Na některých systémech mohou být ladicí informace dostupné v komprimované  formě  v
              rámci  sekcí .zdebug_*. Elfutils 0.153 a novější verze obsahují podporu podporu pro
              tyto komprimované ladicí informace.

       nepotřebné ladicí informace
              V některých případech lze skript upravit tak, aby  ladicí  informace  nepotřeboval.
              Například  skript,  který  používá  probe  syscall.*  lze obvykle přepsat na skript
              založený na probe nd_syscall.*, non-DWARF sondách, které používají složitější  (ale
              také  křehčí)  mechanizmus  pro  přístup  k  argumentům  systémových  volání. Další
              možností je použití zakompilovaných značek typu 'tracepoint', které jsou dostupné v
              linuxovém  jádře, nebo využít značky <sys/sdt.h> pro uživatelské procesy. Ty nejsou
              založeny  na  ladicích  informacích.  Pokud  jsou  ladicí  informace   potřebné   k
              vyhodnocení  složitějších výrazů typu $var->foo->bar mělo by být možné použít zápis
              @cast(var,"foo","foo.h")->foo->bar  čímž  dojde  k  syntéze  ladicích  informací  z
              hlavičkových souborů.

AUTOMATIZACE

       Na  některých  platformách  může  systemtap  doporučit,  které příkazy spustit pro stažení
       ladicích informací. Také je  možné  použít  přepínač  --download-debuginfo  flag.  Program
       stap-prep  může  být  schopen  potřebné balíčky stáhnout a nainstalovat. Další možností je
       použít stap-server pro kompilaci na vzdáleném  stroji,  kde  mohou  být  ladicí  informace
       centralizovány. V tomto případě použijte volbu stap --use-server.

VIZ TÉŽ

       gcc(1),
       stap(1),
       stappaths(7),
       stap-server(8),
       stap-prep(1),
       strip(1),
       warning::symbols(7stap),
       error::dwarf(7stap),
       error::reporting(7stap),
       error::contextvars(7stap),
       http://elfutils.org/,
       http://fedoraproject.org/wiki/Features/MiniDebugInfo

                                                                        WARNING::DEBUGINFO(7stap)