【发布时间】:2022-01-26 08:01:32
【问题描述】:
所以我有这个代码
所以我想知道这个trace_fd = open(DEBUGFS "trace_pipe", O_RDONLY, 0); 是什么,它看起来像是在读取跟踪但什么是跟踪,所以开始告诉我有关跟踪的一些信息,我可以读取任何跟踪/那里有多少跟踪。如果我在跟踪管道上进行写入,那么写入系统调用的另一端是什么。所以我对单词跟踪非常困惑,更不用说下面写到trace_pipe的简单代码了。我可以创建自己的跟踪吗?如何以及请告诉我这个
void read_trace_pipe(void)
{
int trace_fd;
trace_fd = open(DEBUGFS "trace_pipe", O_RDONLY, 0);
if (trace_fd < 0)
return;
while (1) {
static char buf[4096];
ssize_t sz;
sz = read(trace_fd, buf, sizeof(buf) - 1);
if (sz > 0) {
buf[sz] = 0;
puts(buf);
}
}
}
【问题讨论】:
标签: c linux trace strace systrace