[sisyphus] C++ & gdb

Dmitry V. Levin =?iso-8859-1?q?ldv_=CE=C1_altlinux=2Eorg?=
Вт Сен 24 18:17:42 MSD 2002


On Tue, Sep 24, 2002 at 06:00:41PM +0400, Sergey Vlasov wrote:
> > > > Workaround:
> > > > 1. установить пакет glibc-core-debug и
> > > > 2. запускать gdb/ddd с LD_LIBRARY_PATH=/usr/lib/debug
> > > 
> > > _ОГРОМНОЕ_ спасибо! это действительно помогло (осталось только подумать как
> > > это пристроить удобнее - но это уже детали)
> > 
> > Честно говоря, мне пока что не ясно, почему эту нужно делать для
> > многопоточных программ (для обычных - не нужно).
> > Возможно, в по'strip'анном libpthread удалена какая-то важная для gdb
> > информация. Если кто-нибудь в курсе, напишите.
> 
> Я, кажется, понял, в чем дело. В gdb поддержка потоков теперь сделана
> через libthread_db.so.1 (linuxthreads_db в glibc), а там в коде можно
> обнаружить, например, следующее:
> 
>   /* Get the global event mask.  This is one of the variables which
>      are new in the thread library to enable debugging.  If it is
>      not available we cannot debug.  */
>   if (ps_pglobal_lookup (ps, LIBPTHREAD_SO,
> 			 "__pthread_threads_events", &addr) != PS_OK)
>     return TD_NOLIBTHREAD;
> 
> Символ __pthread_threads_events встречается в libpthread.so.0 только в
> отладочной информации - он не экспортируется (и правильно - программам,
> кроме отладчика, нечего делать в этих внутренностях). Есть еще несколько
> аналогичных символов. Поэтому после отрезания отладочной информации
> libthread_db.so.1 просто не видит потоков.
> 
> В сборке glibc-2.2.5-alt12 (Master updates) /lib/libpthread.so.0
> содержит отладочную информацию, поэтому там эта проблема не возникает
> (если только не добавить к нему glibc-core-i686 из Сизифа - там
> /lib/i686/libpthread.so.0 обрезанный).

Ok, будем документировать это как feature?
Или следует что-то сделать с /lib/libpthread.so.0?


--
ldv
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/sisyphus/attachments/20020924/4cc0d2df/attachment-0011.bin>


Подробная информация о списке рассылки Sisyphus