微軟為Windows Insider開發者提供關注框架
現在Windows Insider開發人員可以開始使用動態關注框架DTrace,微軟於GitHub上的OpenDTrace項目下,為DTrace on Windows創建了一個分支,以OpenDTrace埠口在Windows上支持DTrace。
微軟持續與開源社群合作,而他們認為過去十年,在調試上最有用的進展,是動態關注框架DTrace。 DTrace最初由太陽微系統開發,用來在產品系統即時檢測核心與應用程序問題。 DTrace提供了類似C語言的高端程序語言,讓開發者可以動態插入關注點,並對這些關注點設置過濾條件或是錯誤,撰寫程序代碼分析鎖定模式,或是偵測死結。
DTrace原本是為Solaris開發,而後被移植到macOS和Linux等系統,2016年在GitHub上開始的OpenDTrace計劃,目的是要打造無關操作系統且可以移植的DTrace實例,涵蓋macOS、FreeBSD、OpenBSD、NetBSD、Linux甚至是嵌入式系統,而微軟也決定使用OpenDTrace埠口,在Windows上支持DTrace。
Windows版DTrace重用大部分OpenDTrace用戶模式組件和基礎架構,用戶使用dtrace命令與DTrace交互,而該命令則是DTrace引擎的通用前端,dtrace命令也支持腳本,D腳本會在用戶空間被編譯成中介格式DIF,並送到DTrace核心組件執行,這部分則是在dtrace.sys驅動程序中運行。
微軟為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社群整合程序代碼更改,而源碼也可以在微軟維護的第三方源碼網站獲得。
※Visa讓非接觸式支付擴展至大眾運輸工具
※重要國際電競賽事知多少?獎金最高是它!
TAG:十輪網 |