Re: gdb show thread names
Jonny Grant <[email protected]>
| Newsgroups | gmane.comp.gdb.devel |
|---|---|
| Message-ID | <[email protected]> |
On 13/06/2020 13:47, Philippe Waroquiers wrote: > One year ago, I started a patch to add Ada task names and thread names. > At the end, the patch for Ada task name went in, but for the thread > names, there were still some work to do e.g. it was unclear how to > properly give the thread name in some cases and/or > have a consistent presentation of the thread name. > > The (partial) patch was giving a behaviour so that we e.g. get: > [New Thread 0x7ffff701b700 (LWP 13891) "sleepers"] > [Switching to thread 2 (Thread 0x7ffff781c700 (LWP 13890) "sleepers")] > instead of: > [New Thread 0x7ffff701b700 (LWP 13918)] > [Switching to thread 2 (Thread 0x7ffff781c700 (LWP 13917))] > > Philippe > > On Sat, 2020-06-13 at 01:16 +0100, Jonny Grant wrote: >> Hello >> Just wondering if gdb could show the thread names as they are created and deleted? >> >> >> [Thread 0x7fff695e9700 (LWP 3580240) exited] >> [New Thread 0x7fff98ff9700 (LWP 3580609)] >> >> $ cat /proc/3580609/comm >> ThreadPoolForeg >> >> Could be a race condition, if GDB showed the name, before it was renamed by the application, but still pretty useful to see the names. >> >> If I break, and type "info thread" I can see those still created. >> >> Jonny > Hi Philippe That looks useful. Is "sleepers" the entrypoint symbol name? I can see it is tricky because a thread may not have been named by something like pthread_setname_np() if /proc/3580609/comm is read immediately by gdb before the name could be set. Jonny