草庐IT

recordAccess

全部标签

c++ - 在 C/C++ 中监视变量访问

我正在研究多线程代码的覆盖标准,作为其中的一部分,我想记录对变量的访问。例如,在下面的代码中,我想记录变量x被写入并且y,z,a[i],和i被读取。x=y*(int)z+a[i]我一直在研究如何使用Clang的RecursiveASTVisitor并修改源代码以包含录制功能。但是,我不确定这是否是一种明智的方法,因为我对Clang的工作原理的理解非常不完整。目前,当我找到一条语句时,我会检查它是否是BinaryOperator、UnaryOperator、Cast或DeclRefExpr。(一旦我掌握了基础知识,我将扩展它的功能。)如果它是BinaryOperator、UnaryOpe