Yesterday I had to monitor the memory usage, and I googled to come up with a tool named Valgrind.
It contains many interesting tools, such as Memcheck(monitors memory access and reports on invalid memory access), Massif(monitors memory usage, such as peak or average usage), and Callgrind(monitors function call and records usage). I think it'd be useful for some situations. I always used GDB to debug segmentation faults, but Valgrind looks better somehow.
IOI's contest environment has Valgrind (and GDB), but no one around me seems to have experience with Valgrind. What are the pros and cons of Valgrind you know?
pros: it can catch all the memory errors like "index out of bounds" even if there's no segfault
cons: not so good performance, linux only
overall: top-5 in "Every C++ Programmer Should Use It" list
What's top-4 then?
Valgrind installer, maybe?