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

Provided by: systemtap-doc_2.9-2ubuntu2_all bug

NAME

       warning::debuginfo - systemtap missing-debuginfo warnings

DESCRIPTION

       For  many  symbolic  probing operations, systemtap needs DWARF debuginfo for the relevant binaries.  This
       often includes resolving function/statement probes, or $context variables  in  related  handlers.   DWARF
       debuginfo  may  be  found  in the original binaries built during compilation, or may have been split into
       separate files.  The SYSTEMTAP_DEBUGINFO_PATH environment variable  affects  where  systemtap  looks  for
       these files.

       If  your  operating system came from a distributor, check with them if debuginfo packages or variants are
       available.  If your distributor does not have debuginfo-equipped binaries at all, you may need to rebuild
       it.

       Systemtap  uses  the  elfutils  library  to  process  ELF/DWARF  files.   The version of elfutils used by
       systemtap is the number after the slash in the -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
              [...]

       This indicates systemtap version 2.3 with elfutils version 0.156.

       kernel debuginfo
              For scripts that target the kernel, systemtap may search for the vmlinux file created  during  its
              original  build.   This  is  distinct from the boot-loader's compressed/stripped vmlinuz file, and
              much larger.  If you have a hand-built kernel, make sure it was built with the CONFIG_DEBUG_INFO=y
              option.   Some  Linux  distributions  may include several kernel variants, including a confusingly
              named kernel-debug (an alternative kernel, with its own kernel-debug-debuginfo package), which  is
              not  the  same  thing  as  the  kernel-debuginfo  (DWARF data for the base kernel).  The stap-prep
              program can help install the right set.

       process debuginfo
              For scripts that target user-space, systemtap may search for debuginfo.  If  you  have  hand-built
              binaries, use CFLAGS=-g -O2 to compile them.

       minidebuginfo
              On  some  systems, binaries may be compiled with a subset of debuginfo useful for function tracing
              and backtraces.  This 'Minidebuginfo' is a xz compressed section labeled .gnu_debugdata.   Support
              for minidebuginfo relies on elfutils version 0.156 or later.

       compressed debuginfo
              On  some systems, debuginfo may be available, but compressed into .zdebug_* sections.  Support for
              compressed debuginfo relies on elfutils version 0.153 or later.

       unnecessary debuginfo
              In some cases, a script may be altered to avoid requiring debuginfo.  For example, as script  that
              uses  probe syscall.*  probes could try instead probe nd_syscall.*  (for non-DWARF syscall): these
              work similarly, and  use  more  intricate  (fragile)  tapset  functions  to  extract  system  call
              arguments.   Another  option  is  use of compiled-in instrumentation such as kernel tracepoints or
              user-space <sys/sdt.h> markers in libraries or executables, which do not  require  debuginfo.   If
              debuginfo  was  required for resolving a complicated $var->foo->bar expression, it may be possible
              to use @cast(var,"foo","foo.h")->foo->bar to synthesize debuginfo for  that  type  from  a  header
              file.

AUTOMATION

       On  some  platforms,  systemtap  may  advise what commands to run, in order to download needed debuginfo.
       Another possibility is to invoke systemtap with the  --download-debuginfo  flag.   The  stap-prep  script
       included with systemtap may be able to download the appropriate kernel debuginfo.  Another possibility is
       to install and use a stap-server  remote-compilation  instance  on  a  machine  on  your  network,  where
       debuginfo and compilation resources can be centralized.  Try the stap --use-server option, in case such a
       server is already running.

SEE ALSO

       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://fedorahosted.org/elfutils,
       http://fedoraproject.org/wiki/Features/MiniDebugInfo

                                                                                       WARNING::DEBUGINFO(7stap)