This is a quick guide on how to setup and use memory profiling utilities for C++ programs using valgrind, massif, and massif-visualizer in Ubuntu, to quickly identify memory issues.
Install valgind
sudo apt install valgrind Install massif-visualizer
sudo snap install massif-visualizer Or, if you don’t like snaps:
add-apt-repository ppa:kubuntu-ppa/backports && apt-get update && apt-get install massif-visualizer Then, the following commands should be available in the console:
➜ ~ valgrind --version
valgrind-3.18.1 ➜ ~ massif-visualizer --version
massif-visualizer 0.7 Compile the program you want to investigate with debug symbols (Debug configuration)
Then execute valgrind with massif:
valgrind --tool=massif programName The program should start. Once it exits (or you quit the program), a file with a name similar to this: massif.out.1282627 should get created in the directory where you launched valgrind from.
Then you can execute massif-visualizer and open the file that just got created.
