有效利用 rr 分析和修复 MemorySanitizer 错误

摘要

Clang 内置的各种 Sanitizer 工具(GCC 中也有部分)是发现棘手 Bug 的绝佳方式。其中一个挑战是找出某些数据应该被初始化但没有被初始化的位置。我们将解释 MemorySanitizer (clang -fsanitize=memory) 和 AddressSanitizer (-fsanitize=address) 与 Valgrind memcheck 有何不同,并演示如何将数据监视点与反向执行结合使用,以便在不了解代码库的情况下快速捕获任何问题。

Marko Mäkelä, MariaDB 公司

Marko 于 1993 年转向使用 GNU/Linux。自 2003 年起,他一直在研究 InnoDB 存储引擎,自 2016 年起研究其 MariaDB 变体。