By default, Debian packages aren’t symbolized, resulting in unreadable stacktraces:
#0 0x00007fb9d7a3a774 in ?? ()
#1 0x00005574a4450ea0 in ?? ()
#2 0x00005574a42cea60 in ?? ()
#3 0x00005574a3f8bd20 in ?? ()
#4 0x00007ffe0d782200 in ?? ()
The first step is to determine the right package containing the debug symbols for your binary. This can be done using find-dbgsym-packages
from the debian-goodies
packages:
$ find-dbgsym-packages /usr/bin/gnome-control-center
Install the relevant *-dbgsym
packages, for example:
$ sudo apt install gnome-control-center-dbgsym libglib2.0-0-dbgsym
And now you can have symbolized stacktrace:
#0 0x00007fb9d7a3a774 in g_type_check_instance_cast (type_instance=0x100000002, iface_type=93959409689392) at ../../../gobject/gtype.c:4122
#1 0x00005574a0d1382f in private_key_picker_helper (self=self@entry=0x5574a3f8bd20, filename=filename@entry=0x5574a42cea60 "*******************************************", changed=changed@entry=1)
at ../panels/network/wireless-security/eap-method-tls.c:252
#2 0x00005574a0d13a34 in private_key_picker_file_set_cb (chooser=<optimized out>, user_data=0x5574a3f8bd20) at ../panels/network/wireless-security/eap-method-tls.c:297
#3 0x00007fb9d7a173b0 in g_closure_invoke (closure=0x5574a4302fb0, return_value=return_value@entry=0x0, n_param_values=2, param_values=param_values@entry=0x7ffe0d782200, invocation_hint=invocation_hint@entry=0x7ffe0d782180)
at ../../../gobject/gclosure.c:832
#4 0x00007fb9d7a2a076 in signal_emit_unlocked_R (node=node@entry=0x5574a1335ba0, detail=detail@entry=1327, instance=instance@entry=0x5574a3f91350, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7ffe0d782200)
at ../../../gobject/gsignal.c:3796
#5 0x00007fb9d7a30bf5 in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7ffe0d7823a0) at ../../../gobject/gsignal.c:3549
Further notes
By default, Debian doesn’t create core dumps. This can be changed (for the current running terminal session) with
$ ulimit -c unlimited
You can create more sensible core dump names using:
sudo sysctl -w kernel.core_pattern=/tmp/core-%e.%p.%h.%t