Project Description

This project aims to speed-up and simplify setup for analysis of application core files provided by our customers.

Application core analysis by gdb requires to gather additional resources that allow the debugger to show function and variable names instead of hexadecimal addresses. To find them we have to identify the main binary, linked shared libraries and their exact versions and then install corresponding rpm packages with separated debug information.

Our tools (namely zypper and modified gdb) are somehow helpful with that if the core is analyzed on the same product and the same architecture. When developer's own workstation is running different system the debug info gathering become painful.

To avoid that, we can use debuginfod project. It introduces a client/server architecture where server is searching all available resources (binaries, libraries, debug information or sources) and provide them on request to clients across HTTP. Clients are growing number of utilities with debuginfod support like gdb, elfutils, binutils or systemtap.

This project aims to use new debuginfod support introduced in the latest gdb-10.1 and elfutils since 0.178 to simplify setup for core analysis. These packages are already available for openSUSE Tumbleweed.

Unfortunately gdb integration still miss few bits. For example it's unable to download binaries and libraries on it's own. So we have to workaround that using setup script before first run.

Goal for this Hackweek

  • prepare internal SUSE debuginfod server providing resources for debugging packages released for >=SLE12 including PTF packages
  • prepare setup script to workaround issues in current gdb-10.1
  • create tutorial explaining how to setup own machine to debug cores using debuginfod

Resources

Looking for hackers with the skills:

debuginfod

This project is part of:

Hack Week 20

Activity

  • over 2 years ago: xgonzo liked this project.
  • about 3 years ago: jcejka added keyword "debuginfod" to this project.
  • about 3 years ago: jcejka started this project.
  • about 3 years ago: jcejka originated this project.

  • Comments

    • jcejka
      about 3 years ago by jcejka | Reply

      gdb-setupcore was published on github:

      https://github.com/malyzelenyhnus/gdb-setupcore

    • jcejka
      about 3 years ago by jcejka | Reply

      Internal debuginfod server is up and running at

      DEBUGINFOD_URLS=germ95.suse.cz:8002
      

      It scans cca once a day all rpm's released for

      • SLE12 and newer (from nfs loki.suse.de:/vol/euklid/SuSE/build.suse.de/SUSE/{Products,Updates})
      • PTF and TEST packages released by L3

    Similar Projects

    This project is one of its kind!