nompelis at nobelware.com
Wed Nov 7 23:28:06 UTC 2018
I have used Valgrid. It is _great_ but you need to know what you are doing
in order to (a) not get confused by the times that things fail spectacularly
and in a cascading manner, and (b) to be able to collect the right information.
I have used it in parallel (distributed / separate memory space per process)
applications, which is what I build at work. Basically, you executa Valgrind,
even in parallel, which jails the process in a monitored memory space, and
then injects diagnostics. It is a lot like using a debugger or disassembler.
My adviser's eldest daughter just finished her CS degree at Carnegie Mellon
(possibly the best CS dept. in the country). For their programming assignments,
they had to run them through Valgrid and deliver the output.
Personally, I do not use Valgrid unless I am handed a piece of code that I do
not know what it does and that obviously has problems, like seg-faults or
un-expected behavriou. And even this case is rare. But I am telling you that
it is very useful for such tasks.
Here are the environment modules on my desktop:
Notice how I have some software stacks built with Valgrind in them, like
the parallel execution and parallelization libraries (OpenMPI "ompi").
We can talk about it at the meetup.
More information about the Friends