From: Sergey Vlasov <vsu@altlinux.ru>
To: sisyphus@altlinux.ru
Cc: ldv@altlinux.org
Subject: Re: [sisyphus] C++ & gdb
Date: Tue, 24 Sep 2002 18:00:41 +0400
Message-ID: <20020924180041.78932562.vsu@altlinux.ru> (raw)
In-Reply-To: <20020924095231.GF10148@basalt.office.altlinux.ru>
[-- Attachment #1: Type: text/plain, Size: 1837 bytes --]
On Tue, 24 Sep 2002 13:52:31 +0400
"Dmitry V. Levin" <ldv@altlinux.org> wrote:
> On Mon, Sep 23, 2002 at 10:57:18PM +0300, Sanja Byelkin wrote:
> > Доброе (РЕАЛЬНО!!!) время суток!
> >
> > On Mon, Sep 23, 2002 at 10:26:24PM +0400, Dmitry V. Levin wrote:
> > [skip]
> > > Удалось воспроизвести.
> > >
> > > 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 обрезанный).
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
next prev parent reply other threads:[~2002-09-24 14:00 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-09-23 4:50 Alexey Morozov
2002-09-23 6:11 ` Sanja Byelkin
2002-09-23 6:50 ` Alexey Morozov
2002-09-23 8:20 ` Dmitry V. Levin
2002-09-23 12:34 ` Alexey Morozov
2002-09-23 9:22 ` Vlad Harchev
2002-09-23 12:33 ` Alexey Morozov
2002-09-23 12:42 ` Dmitry V. Levin
2002-09-23 13:28 ` Sanja Byelkin
2002-09-23 13:42 ` Dmitry V. Levin
2002-09-23 13:53 ` Sanja Byelkin
2002-09-23 14:00 ` Dmitry V. Levin
2002-09-23 14:11 ` Sanja Byelkin
2002-09-23 14:45 ` Dmitry V. Levin
2002-09-23 17:59 ` Sanja Byelkin
2002-09-23 18:26 ` Dmitry V. Levin
2002-09-23 19:57 ` Sanja Byelkin
2002-09-23 20:16 ` Sanja Byelkin
2002-09-24 9:41 ` Dmitry V. Levin
2002-09-24 9:52 ` Dmitry V. Levin
2002-09-24 14:00 ` Sergey Vlasov [this message]
2002-09-24 14:17 ` Dmitry V. Levin
2002-09-24 15:32 ` Sergey Vlasov
2002-09-24 16:22 ` Dmitry V. Levin
2002-09-23 11:06 ` Vitaly Lugovsky
2002-09-23 12:37 ` Alexey Morozov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20020924180041.78932562.vsu@altlinux.ru \
--to=vsu@altlinux.ru \
--cc=ldv@altlinux.org \
--cc=sisyphus@altlinux.ru \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
ALT Linux Sisyphus discussions
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/sisyphus/0 sisyphus/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 sisyphus sisyphus/ http://lore.altlinux.org/sisyphus \
sisyphus@altlinux.ru sisyphus@altlinux.org sisyphus@lists.altlinux.org sisyphus@lists.altlinux.ru sisyphus@lists.altlinux.com sisyphus@linuxteam.iplabs.ru sisyphus@list.linux-os.ru
public-inbox-index sisyphus
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.sisyphus
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git