Как использовать маркер трассировки в ftrace
для записи пользовательских событий? Я использую следующее, но компилятор не может определить WR_ONLY
:
static int trace_fd = -1;
void trace_write(const char *fmt, ...)
{
va_list ap;
char buf[256];
int n;
if (trace_fd < 0)
return;
va_start(ap, fmt);
n = vsnprintf(buf, 256, fmt, ap);
va_end(ap);
write(trace_fd, buf, n);
}
[...]
trace_fd = open("trace_marker", WR_ONLY);
И позже, используя функцию trace_write()
для записи в ftrace
буфер.
trace_write("record this event\n")
Ошибка компилятора:
error: C++ requires a type specifier for all declarations
trace_fd = open("trace_marker", WR_ONLY);