Annotations controlling the instrumentation of C code
@GlobalRead(lvalue: String)
Instrument every reading access of a global variable with the given name. Can handle more complex patterns, e.g. *&bar[][].foo
@GlobalReadIndex(lvalue: String, index: Int)
Instrument every reading access of a global variable with the given name. Can handle more complex patterns, e.g. *&bar[][].foo
Get the index as event's value.
@GlobalWrite(lvalue: String)
Instrument every writing access of a global variable with the given name. Can handle more complex patterns, e.g. *&bar[][].foo
@GlobalWriteIndex(lvalue: String, index: Int)
Instrument every writing access of a global variable with the given name. Can handle more complex patterns, e.g. *&bar[][].foo
Get the index as event's value.
@InstFunctionCall(name: String)
Add event generation to every call of the function before the actual function call
@InstFunctionCallArg(name: String, index: Int)
Add event generation to every call of the function before the actual function call
@InstFunctionCalled(name: String)
Add event generation to the first line of the function
@InstFunctionCalledArg(name: String, index: Int)
Add event generation to the first line of the function
@InstFunctionReturn(name: String)
Add event generation to every return inside of the function. Generates unit events.
@InstFunctionReturned(name: String)
Add event generation to every call of the function after the function returned. Generates unit events.
@InstFunctionReturnedValue(name: String)
Add event generation to every call of the function after the function returned. Generates events carrying the returned value as data.
@InstFunctionReturnValue(name: String)
Add event generation to every return inside of the function. Generates events carrying the returned value as data.
@LocalRead(lvalue: String, function: String)
Instrument every reading access of a local variable with the given name inside the given function. Can handle more complex patterns, e.g. *&bar[][].foo
@LocalReadIndex(lvalue: String, function: String, index: Int)
Instrument every reading access of a local variable with the given name inside the given function. Can handle more complex patterns, e.g. *&bar[][].foo
Get the index as event's value.
@LocalWrite(lvalue: String, function: String)
Instrument every writing access of a local variable with the given name inside the given function. Can handle more complex patterns, e.g. *&bar[][].foo
@LocalWriteIndex(lvalue: String, function: String, index: Int)
Instrument every writing access of a local variable with the given name inside the given function. Can handle more complex patterns, e.g. *&bar[][].foo
Get the index as event's value.
@ThreadId
Writes the current thread ID to the annotated stream every time any other instrumentation produces any event