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------------------------------------------ ...