1 Star2 Stars3 Stars4 Stars5 Stars (还没有评分)
Loading...

关于DTrace支持表达式中含有关键字的讨论

十一期间,在DTrace邮件讨论组里,FreeBSD的贡献者Mark Johnston提出了一个issue:因为有些DTrace的关键字不是c/c++的关键字,所以如果DTrace脚本和命令分析的code里包含这些关键字,执行就会出错。他举了个例子:FreeBSDg_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里,随后会提PRillumos,很期待DTrace这个新feature

详细讨论,请参见http://www.listbox.com/member/archive/184261/2014/10/sort/time_rev/page/1/entry/0:3/

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.