Debugging multi-threaded C++ applications with Helgrind