Presented by

  • Daniel Black

    Daniel Black

    Daniel is a MariaDB all rounder. He started doing as a DBA, and then starting fixing the bugs. On the journey to continue these multi-perspectives of the same product, he found a niche at the MariaDB Foundation as their Chief Innovation Officer. There he continues to drive improvements in the code, the user usage, and the ecosystem in-between.

Abstract

Debugging is hard, debugging multithreaded application with only occasional faults is especially hard. What you need to do is repeat until you get a failure, then magicly have a recording of the entire state of the program. It would be good if such a program exists. What it does? And is called rr? Let's do a tutorial on this. So this tutorial is going to teach the use of RR, https://rr-project.org/, to debug C/C++ multithreaded applications. Prerequisites: * Requires Linux, bare metal preferred or at least validate its VM functionality ahead of time * Come with a compiled rr preferred (releases aren't too often) - https://github.com/rr-debugger/rr/wiki/Building-And-Installing * Hardware requirements :https://github.com/rr-debugger/rr#system-requirements