Provided by: systemtap-doc_2.3-1ubuntu1.4_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.

       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.

       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.

       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),     strip(1),     error::reporting(7stap)
       error::contextvars(7stap)

                                                                        WARNING::DEBUGINFO(7stap)