一直以来没太注意“arg0...arg9
”和args[]
之间的区别,基本就是混用。前几天在调试一个DTrace
脚本时,才注意起来,也在DTrace
的mailing list
里讨论了一下。以下就是我做的一些总结:
(1) “arg0...arg9
”是64位整数类型。如果probe
有参数,都可以通过“arg0...arg9
”访问。args[]
里每个参数的类型与具体的probe
相关,probe
不一定会提供args[]
。
(2)可以使用“dtrace -lvn
”命令来检查probe
是否提供了args[]
参数,举个例子:
bash-3.2# dtrace -lvn proc:::signal-[......]