众所周知,在不同操作系统上运行的DTrace提供了不同的内置函数。例如,旧版本的Solaris
在DTrace中没有inet_ntop()
。
因此,当我编写在特殊操作系统上运行的DTrace脚本时,如何才能知道DTrace提前提供的内置函数?或者只能通过运行脚本并检查DTrace的投诉?
答案 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