Basic use

We start Helgrind on our application in the following manner:

$ valgrind --tool=helgrind --read-var-info=yes --log-file=dispatcher_helgrind.log ./dispatcher_demo  

Similar to running Memcheck, this will run the application and log all generated output to a log file, while explicitly using all available debugging information in the binary.

After running the application, we examine the generated log file:

==6417== Helgrind, a thread error detector==6417== Copyright (C) 2007-2015, and GNU GPL'd, by OpenWorks LLP et al.==6417== Using Valgrind-3.11.0 and LibVEX; rerun with -h for copyright info==6417== Command: ./dispatcher_demo==6417== Parent PID: 2838==6417== ==6417== ---Thread-Announcement------------------------------------------ ...

Get Mastering C++ Multithreading now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.