现在Windows Insider开发人员可以开始使用动态追踪框架DTrace,微软于GitHub上的OpenDTrace专案下,为DTrace on Windows创建了一个分支,以OpenDTrace端口口在Windows上支援DTrace。微软持续与开源社群合作,而他们认为过去十年,在侦错上最有用的进展,是动态追踪框架DTrace。DTrace最初由太阳计算机开发,用来在产品系统实时检测核心与应用程序问题。DTrace提供了类似C语言的高阶程序语言,让开发者可以动态插入追踪点,并对这些追踪点设定过滤条件或是错误,撰写程序代码分析锁定模式,或是侦测死结。
http://www.cafes.org.tw/info.asp
微软为Windows版DTrace新增核心扩充驱动程序Traceext.sys,能够公开DTrace需要的Windows功能,以提供追踪功能使用,Windows核心会在获取堆栈讯息(Stackwalk)或是存取内存时提供标记(Callout),然后由追踪扩充套件实作。微软提到,DTrace的安全模型很适合Windows,DTrace使用中介的形式验证安全性,并确保工作都在自己的执行环境中运作,而该执行环境也处理任何的执行中错误,以避免系统崩溃,除此之外,除非在效能敏感的路径上设置过多的追踪点,否则追踪点的成本很低,不会明显影响系统整体效能。使用者可以在Windows 10 Insider build 18342以及更新的版本上使用DTrace,而且仅支持x64 Windows,也只会捕捉64位程序的追踪信息。所有的Windows上DTrace更新,开发者都可以在OpenDTrace项目下的DTrace on Windows分支取得,接下来几个月,微软计划与OpenDTrace社群合并程序代码更改,而原始码也可以在微软维护的第三方原始码网站获得。