[Haifux] Multi-thread debugging for C++ on Linux

Hai Zaar haizaar at gmail.com
Fri Nov 28 18:27:04 MSK 2008


--
Zaar



On Fri, Nov 28, 2008 at 5:12 PM, Ohad Lutzky <ohad at lutzky.net> wrote:
> Hello all,
>
> I am examining the issue of debugging multi-threaded (specifically using
> pthreads, and written in C or C++) applications in Linux. The basic tools,
> as far as I can tell, are somewhat lacking; while the DDD documentation does
> have a screenshot showing a "suspend" button in Status->Threads, this does
> not show up in my version of ddd (3.3.11), and I can't really figure out how
> to do this from within gdb. Is it even possible? As far as I know, this is
> possible with Java, and I'm guessing that it has to do with additional JRE
> instrumentation (the debugger tells JRE to suspend the thread, and while the
> Linux thread is running, the JRE code therein does a sched_yield).
Not answering your questions, but try "insight" debugger. Its the only debugger
that worked for me with complicated C++ templates.

>
> So my question are:
> 1. Am I missing something, and this is in fact possible with GDB? If so, is
> there a graphical interface (my coworkers are fond of those...) which
> supports this?
> 2. Is there a different Linux (on x86) debugger which does support this?
> 3. What is the situation of this problem on other OSes?
> 4. What other neat thread-related debugging tools (other than suspending
> individual threads, that is) are there, and which debuggers support them?
>
> I've been trying to google the answers to these questions, but so far I've
> come up short. Any wise keywords would be appreciated :)
>
> --
> Man is the only animal that laughs and weeps, for he is the only animal that
> is struck with the difference between what things are and what they ought to
> be.
> - William Hazlitt
>
> Ohad Lutzky
>
> _______________________________________________
> Haifux mailing list
> Haifux at haifux.org
> http://hamakor.org.il/cgi-bin/mailman/listinfo/haifux
>
>



More information about the Haifux mailing list