十一期间,在DTrace
邮件讨论组里,FreeBSD
的贡献者Mark Johnston
提出了一个issue
:因为有些DTrace
的关键字不是c/c++
的关键字,所以如果DTrace
脚本和命令分析的code
里包含这些关键字,执行就会出错。他举了个例子:FreeBSD
的g_consumer
结构体里包含了provider
这个成员,所以运行下面的DTrace
的代码片就会报错:
fbt::g_vfs_done:entry {printf("%s", stringof(args[0]->bio_from->provider->name));}
所以他建议DTrace
应该支持表达式中含有这些关键字。
DTrace
作者之一Bryan Cantrill
在邮件里对这个想法表达了自己的看法:
Nothing like cracking open dt_grammar.y to get the blood flowing! 😉 I don't think the change looks unreasonable; how does the test suite fare? If this is no way breaks extant D programs, I'm all for it...
可以看出,Bryan Cantrill
认为只要不对现有的DTrace
程序造成影响,他完全支持。
在最后的邮件讨论里,Mark Johnston
提到他已经做好了patch
,如果没有反对意见的话,他会把patch
先提交的FreeBSD
里,随后会提PR
到illumos
,很期待DTrace
这个新feature
!
详细讨论,请参见http://www.listbox.com/member/archive/184261/2014/10/sort/time_rev/page/1/entry/0:3/。