Microsoftは米国時間2019年3月12日、「DTrace on Windows」をGitHub上で公開したことを公式ブログで明らかにした。同社の説明によれば2016年からOpen DTraceプロジェクトが進行していたが、同プロジェクト下にDTrace for Windowsをブランチとして追加し、Windows 10の開発環境におけるユーザーモードもしくはカーネルモードでシステムの変化を確認できるトレースフレームワークとなる。利用には64ビット版Windows 10 ビルド18342以上となるため、Windows Insider Program heno参加が必須。なお、バイナリファイルも直接ダウンロードできる。さらにBCD構成の変更やシンボルパスの設定なども伴う。

  • DTrace on Windowsの概要(公式ブログより抜粋)

    DTrace on Windowsの概要(公式ブログより抜粋)

DTrace for WindowsはOpenDTraceの移植版であるため、開発者はコマンドを介してDTraceを操作し、Dスクリプトはユーザー空間で中間形式(DIF)にコンパイルする。次にDIF VM(仮想マシン)を実行するDTrace.sysを経由し、カーネル拡張ドライバーであるTraceext.sysからDTraceのトレースを可能にしている。Windowsプラットフォームは以前からETW(Event Tracing for Windows)を提供してきたが、Microsoftは「静的でありプログラム実行時にトレースポイントを挿入できない」と説明し、DTrace on Windowsの利用をアピールした。

阿久津良和(Cactus)