我如何知道DTrace提供的内置函数?

时间:2014-04-04 08:15:18

标签: dtrace

众所周知,在不同操作系统上运行的DTrace提供了不同的内置函数。例如,旧版本的Solaris在DTrace中没有inet_ntop()

因此,当我编写在特殊操作系统上运行的DTrace脚本时,如何才能知道DTrace提前提供的内置函数?或者只能通过运行脚本并检查DTrace的投诉?

2 个答案:

答案 0 :(得分:1)

最佳解决方案是参考DTrace文档以了解相关操作系统的版本。对于Solaris,新的DTrace功能几乎总是只出现在主要版本或更新中,并且文档是(或应该)同时更新的。因此,如果您正在运行Solaris 11.1,那么您应该参考" Oracle Solaris 11.1动态跟踪指南"。

Solaris dtrace(1)没有"显示当前支持的操作"选项,但您可以考虑记录RFE。

如果您编写的脚本需要特定版本的DTrace实现,那么您可以使用option or pragma绑定它。此机制应存在于其他DTrace实现中,但每个fork的任何特定版本号的含义都不同。因此,一如既往,最好依赖文档。

答案 1 :(得分:0)

如果您希望获得各种Dtrace模块公开的功能列表,可以使用dtrace -l