DTrace est un framework de traçage dynamique qui permet à un administrateur ou à un développeur d'avoir un aperçu en temps réel d'un système en mode utilisateur ou noyau. DTrace dispose d'un langage de programmation puissant et de haut niveau de style C qui vous permet d'insérer dynamiquement des points de trace. À l'aide de ces points de trace insérés dynamiquement, vous pouvez filtrer les conditions ou les erreurs, écrire du code pour analyser les modèles de verrouillage, détecter les blocages, etc.
Sous Windows, DTrace étend Event Tracing for Windows (ETW) qui est statique et n'offre pas la possibilité d'insérer par programme des points de trace au moment de l'exécution.
Toutes les API et fonctionnalités utilisées par dtrace.sys sont des appels documentés.
Microsoft a implémenté un pilote spécial pour Windows 10 qui permet d'effectuer un certain nombre de rôles de surveillance du système. Le pilote sera inclus avec Windows 10 version 1903. De plus, DTrace nécessite actuellement que Windows soit démarré avec un débogueur de noyau activé.
Le code source de l'outil DTrace porté est disponible sur GitHub. Visitez la page DTrace sous Windowssous le projet OpenDTrace sur GitHub pour le voir.
Contenu cacher Configurer DTrace dans Windows 10 Utiliser DTraceConfigurer DTrace dans Windows 10
Conditions préalables à l'utilisation de la fonctionnalité
- Un initié de Windows 10construire 18342ou plus
- Uniquement disponible surx64Windows et capture les informations de traçage uniquement pour les processus 64 bits Le programme Windows Insider estactivéetconfiguréavec un compte Windows Insider valide
- Visitez Paramètres->Mise à jour et sécurité->Programme Windows Insider pour plus de détails.
Instructions:
- Ensemble de configuration BCD :
- bcdedit / définir dtrace sur
- Notez que vous devez redéfinir l’option bcdedit si vous effectuez une mise à niveau vers une nouvelle version Insider.
- Cela installe les composants du mode utilisateur, les pilotes et les packages de fonctionnalités supplémentaires à la demande nécessaires au fonctionnement de DTrace.
- Facultatif : mettez à jour leVariable d'environnement CHEMINinclureC:ProgrammesDTrace
- set PATH=%PATH%;'C:Program FilesDTrace'
- Installationchemin de symbole
- Créez un nouveau répertoire pour mettre en cache les symboles localement. Exemple : mkdir c:symbols
- Ensemble_NT_SYMBOL_PATH=srv*C:symboles* http://msdl.microsoft.com/download/symbols
- DTrace télécharge automatiquement les symboles nécessaires depuis le serveur de symboles et les met en cache dans le chemin local.
Facultatif:Configurer le débogueur du noyauconnexion à la machine cible ( Lien MSDN). C'estseulementrequis si vous souhaitez tracer les événements du noyau à l'aide de FBT ou d'autres fournisseurs. - Notez que vous devrez désactiver Secureboot et Bitlocker sur C : (si activé), si vous souhaitez configurer un débogueur de noyau.
Utiliser DTrace
- Ouvrez une invite de commande élevée.
- Exécutez l'une des commandes suivantes :|_+_|
La commandedtrace -lvn appel système :::listera toutes les sondes et leurs paramètres disponibles auprès du fournisseur d'appel système.
Voici quelques-uns des fournisseurs disponibles sur Windows et ce qu'ils instrumentent.
- syscall – Appels système NTOSfbt (Function Boundary Tracing) – Entrée et retour de la fonction noyau – Traçage des processus en mode utilisateur. Comme FBT en mode noyau, mais permettant également l'instrumentation de fonctions arbitraires offsets.etw (Event Tracing pour Windows) – Permet de définir des sondes pour ETW. Ce fournisseur permet d'exploiter l'instrumentation du système d'exploitation existante dans DTrace.
- Il s'agit d'un ajout que nous avons apporté à DTrace pour lui permettre d'exposer et d'obtenir toutes les informations que Windows fournit déjà dans S.T.W.
D'autres exemples de scripts applicables aux scénarios Windows peuvent être trouvés dans ce répertoire d'échantillons.
Source: Microsoft