3

I have a core file on a Debian system. I want to obtain a complete list of all debug symbol packages needed to generate a symbolic stack trace from that core dump.

By what means can I generate such a list?

2 Answers 2

3

readelf -Wa will give detailed information about a core dump, including the mapped files (look for NT_FILE). You should install the debug symbols for any file which is a binary or a library. To find the relevant packages, install apt-file if you haven’t already, run sudo apt update to update its indexes, and run

apt-file search /path/to/file

For example, if /usr/lib/x86_64-linux-gnu/libpcre2-8.so.0.7.1 shows up in the list of mapped files in a given core dump,

$ apt-file search /usr/lib/x86_64-linux-gnu/libpcre2-8.so.0.7.1
libpcre2-8-0: /usr/lib/x86_64-linux-gnu/libpcre2-8.so.0.7.1

By extension, this tells you that you need to install libpcre2-8-0-dbgsym to have the corresponding debug symbols.

(Yes, this is somewhat more cumbersome than it should be. Other distributions make this simpler...)

2

As of Debian buster, you can use find-dbgsym-packages from the debian-goodies package.

find-dbgsym-packages lists all *-dbgsym packages required to properly debug processes given by a list of executables, libraries, core dumps or PID numbers.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .