-
-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Valgrind
David Mansolino edited this page Nov 5, 2018
·
2 revisions
Valgrind can be used to detect memory management and threading bugs, and profile Webots programs in detail.
Install Valgrind using default package manager:
sudo apt-get install valgrind
The Valgrind option --smc-check=all
have to be set in order to profile the webots-bin
application. This is due to some issues with the QtWebKit module (see bug report).
Note that Webots should be compiled in debug mode before running Valgrind.
Basic usage example from the main webots
folder:
valgrind --log-file=valgrind.out --smc-check=all bin/webots-bin
With Valgrind 3.11.0, Webots may not start in Valgrind. Valgrind reports:
vex: the `impossible' happened:
isZeroU
valgrind: the 'impossible' happened:
LibVEX called failure_exit().
cf. https://bugs.launchpad.net/ubuntu/+source/valgrind/+bug/1574437
In this case, upgrade to valgrind 3.12.0 using these instructions:
# Download Valgrind 3.12.0 from https://valgrind.org/downloads/
sudo apt remove valgrind
sudo apt install automake
cd ~/software/
mv ../Downloads/valgrind-3.12.0.tar.bz2 .
tar jxf valgrind-3.12.0.tar.bz2
cd valgrind-3.12.0/
./autogen.sh
./configure
make -jX
sudo make install