DTrace在Windows系统中的应用与原理详解
1. DTrace内部架构
在Windows 10 2020年5月更新(20H1)中,DTrace的部分组件需通过外部包进行安装,未来Windows版本可能会将DTrace完全集成到操作系统镜像中。尽管DTrace深度集成于操作系统,但它正常工作仍需三个外部组件,包括NT特定实现和遵循自由通用开发与分发许可证(CDDL)发布的原始DTrace代码,可从https://github.com/microsoft/DTrace-on-Windows/tree/windows 下载。
DTrace在Windows中由以下组件构成:
- DTrace.sys :DTrace扩展驱动是执行与探针关联操作的主要组件,它将结果存储在循环缓冲区中,用户模式应用程序可通过IOCTL获取这些结果。
- DTrace.dll :该模块封装了LibDTrace,即DTrace用户模式引擎。它实现了D脚本的编译器,向DTrace驱动发送IOCTL,并是循环DTrace缓冲区(DTrace驱动存储操作输出的地方)的主要消费者。
- DTrace.exe :入口点可执行文件,将所有可能的命令(通过命令行指定)分派给LibDTrace。
以下为DTrace内部架构示意图:
graph LR
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
DTra
超级会员免费看
订阅专栏 解锁全文
887

被折叠的 条评论
为什么被折叠?



