Subject: Re: bug#63047: Can't load glib debug symbols in gdb

From: Maxim Cournoyer <[email-masked]>
Date: Tue, 25 Apr 2023 08:38:44 -0400

Hi Andrew,

Josselin Poiret via Bug reports for GNU Guix <[email-masked]> writes:

> Hi Andrew,
>
> Andrew Tropin <[email-masked]> writes:
>
>> I try to run emacs in gdb with debug symbols for some libs available, I
>> succeed with gtk+, but it doesn't work for glib and glibc.  It looks
>> strange to me, but maybe I am doing something wrong.
>>
>> Reproducer:
>>
>> guix shell gdb emacs-next-pgtk glibc:debug gtk+:debug glib:debug \
>>      --with-debug-info=glibc --with-debug-info=glib --with-debug-info=gtk+ \
>>      --no-grafts -- gdb .emacs-30.0.50-real
>
> At least for glibc, the glibc that is linked against is the one in (gnu
> packages commencement), which is hidden from the user.  The one in (gnu
> packages base), which you can refer to with "glibc" is different.  You
> can try to find the proper debug output by looking at `guix size` of
> your store path, then finding out the deriver for glibc with `guix gc
> --derivers` and finally looking at the .drv to find out what the debug
> output should be.
>
> For glib, it might be similar, make sure that you're using exactly the
> right store path for it.

Perhaps try on the core-updates branch, where glibc no longer has its
symbols stripped.  Another thing that can cause the debug symbols to not
be found is grafts, as described in #48907, so when debugging I'd
recommend using --no-grafts for now.

-- 
Thanks,
Maxim