如果重要的话,我使用的是 Mac OS X,但我相信这适用于所有操作系统。如果每个操作系统的答案不同,我也会有兴趣了解这一点。
假设我打开一个终端窗口,启用几个探测器,并开始使用 DTrace 收集数据。
我可以从不同的终端窗口询问 DTrace 启用了哪些探测器吗?如果是这样,如何?
最佳答案
我从 DTrace 邮件列表中的 Adam Leventhal 那里获得了以下信息。首先,他提供了这个脚本,它适用于 Solaris
#!/usr/sbin/dtrace -s
#pragma D option quiet
int i;
tick-100
/i >= `dtrace_nprobes/
{
exit(0);
}
tick-100
{ printf("%4d %10s %20s %20s %10s %s\n", i,
stringof(`dtrace_probes[i]->dtpr_provider->dtpv_name),
stringof(`dtrace_probes[i]->dtpr_mod),
stringof(`dtrace_probes[i]->dtpr_func),
stringof(`dtrace_probes[i]->dtpr_name),
`dtrace_probes[i]->dtpr_ecb != NULL ? "enabled" : "disabled");
i++
}
不幸的是,由于错误,相同的内核变量在 Mac OS X 上不可用。
关于macos - 我可以问 dtrace 启用了哪些探测器吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6426674/