oracular (7) warning::debuginfo.7stap.gz

Provided by: systemtap-doc_5.1-4_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)