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
- debuginfod upstream
- gdb-setupcore
- gdb bug 27570 - gdb: missing support for debuginfod in
core_target::build_file_mappings
Looking for hackers with the skills:
This project is part of:
Hack Week 20
Comments
-
over 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!