I am having a hard time finding a solaris (sparc) de* that actually
works on posix threaded c programs. Main problem is the inability to control
the execution of the threads separately. Most tools (GNU gdb, sun's forte)
seem to allow the user to single step the current thread, but all other
threads are allowed to run wild. We need to control the interaction of all
of our various threads in a program - i.e. single step thread 1, then step
thread 2 a few times, then go back to thread 1 again, but the de*s seem
to ignore the other threads.
In practice the GNU gdb/ddd combination did not even stay with the same
thread - performing a single step in thread A left me stopped in thread B!
Sun's dbx command line product actually provides the support, but you have
to enter the LWP thread id on every command which is very cumbersome. By
typing in "next <lwp thread id>" it actually single steps the indicated
thread and holds all other threads in place. BUT this is a comand line only
solution. (their forte gui front end does not support the concept of current
thread properly - it actually allows concurrent threads to pass through
break points!).
This is a brand new machine with forte v6 on it.
Are there any real multi threaded de* products out there?
Note: HP's dde gui de* allows you to disable threads, thereby
preventing them from "runnng wild" while you concentrate on a single thread.