Dtrace 无效的探针说明符错误

Posted

技术标签:

【中文标题】Dtrace 无效的探针说明符错误【英文标题】:Dtrace Invalid Probe Specifier error 【发布时间】:2013-04-20 14:06:53 【问题描述】:

我在 Ubuntu 11.04 中安装了 Dtrace。

我能跑了:

dtrace -n 'syscall:::'

和:

sudo dtrace -l | grep terminal

命令正确并得到结果。

但是当我尝试运行时:

dtrace -n 'proc:::exec-success  trace(curpsinfo->pr_psargs); '

我收到错误消息:

dtrace: 无效的探测说明符proc:::exec-success trace(curpsinfo->pr_psargs); : 探针描述proc:::exec-success 不匹配任何探针。

这里有什么问题?我该如何解决这个问题?

【问题讨论】:

【参考方案1】:

检查dtrace -l 以查看proc:::exec-success 探针是否存在。 DTrace 端口在不同时间采用不同的提供程序。不完整的端口可能还没有 proc 提供程序。

【讨论】:

好吧,我的不存在。怎么办?我该如何解决? nm - 在这里找到了答案:apple.stackexchange.com/a/208185/6907 基本上,Apple 使用 El Capitan 禁用了 dtrace 的某些部分。 您需要与端口维护者联系。你自己无能为力。但是,您可以找出对应于同一事件的内核函数并查看 fbt 提供程序是否正常工作。

以上是关于Dtrace 无效的探针说明符错误的主要内容,如果未能解决你的问题,请参考以下文章

Leopard 上的 DTrace:没有指定探针,即使我指定了探针

DTrace - 如何在返回探针中正确检索初始参数

在 C++ 中使用 Dtrace 设置我自己的探针

请问dtrace启用了哪些探针?

DTrace END 探针从不触发

从 C 程序访问 dtrace 探针