views:

90

answers:

3

I'm looking for a good multi-thread-aware debugger, capable of showing performance charts of application threads on Linux, don't know if such a thing exists, perhaps as a Eclipse plugin. The idea would be to track per thread memory allocation a CPU usage as well as being able to interrupt a thread and examine its stack trace, local vars, etc. It does not have to be an eclipse plugin or a free tool, do any of you have heard of something similar?

A: 

Qt Creator does provide information on a per-thread basis. It also has the features you would expect from any standard debugger. (Watches, breakpoints, etc.)

Although designed for compiling Qt applications, it can be used for just about any C++ project. (I have used it for compiling/editing a non-Qt app before.)

George Edison
Never though QT Creator had that kind of tools, pretty neat, I'll take a look at it.The last time you used it with multi-threaded apps were you using simple pthreads or some specific Qt threading classes?
Coredumped
@Core: Hmmm... I think it was Qt threads, but I wouldn't be surprised if it didn't work for native threads.
George Edison
+1  A: 

TotalView (and MemoryScape) doesn't do precisely what you're asking for in its' default presentation, but it provides the data you need. It costs money, but a better C++ debugger for Linux cannot be found.

Free trials are available, and there are a number of cool and useful videos on their support site.

Nick Bastin
I've downloaded totalview demos in the past, never got a chance to actually review it, I'll take a look at the videos and see, thanks!
Coredumped
A: 

If you're on linux, you've got access to one of the most powerful debugging tools in the trade - Valgrind. Read about it, especially about it's additional tools like Helgrind.

Sure, the visualisation is lacking compared to commercial tools, but you can't beat it's level of detail.

Kornel Kisielewicz
I've been using valgrind from long ago, beautiful tool, however for the purpose of this research I haven't seen any graphical tools but alleyoop which is not compliant with my current need, perhaps its time to work on a project for better visualization?
Coredumped
@Coredumped - extending existing great tools to be even more great is *always* a good project ;)
Kornel Kisielewicz