Windows Tips & News

DTrace est maintenant disponible sur Windows

click fraud protection

La prochaine mise à jour des fonctionnalités de Windows 10 (19H1, mise à jour d'avril 2019, version 1903) inclura la prise en charge de DTrace, le populaire outil de débogage et de diagnostic open source. Il a été conçu à l'origine pour Solaris et est devenu disponible pour Linux, FreeBSD, NetBSD et macOS. Microsoft l'a porté sur Windows.

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 interblocages, etc.

Sous Windows, DTrace étend le suivi des événements pour Windows (ETW) qui est statique et ne permet pas 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 le démarrage de Windows avec un débogueur de noyau activé.

Le code source de l'outil DTrace porté est disponible sur GitHub. Visitez la page "DTrace sous Windows” sous le projet OpenDTrace sur GitHub pour le voir.

Configurer DTrace sous Windows 10

Conditions préalables à l'utilisation de la fonctionnalité

  • Initié de Windows 10 construire 18342 ou plus
  • Disponible uniquement sur x64 Windows et capture les informations de traçage uniquement pour les processus 64 bits
  • Programme Windows Insider est activée et configuré avec un compte Windows Insider valide.
    • Visitez Paramètres-> Mise à jour et sécurité-> Programme Windows Insider pour plus de détails

Instructions:

  1. Jeu de configuration BCD:
    1. bcdedit /définir dtrace sur
    2. Notez que vous devez à nouveau définir l'option bcdedit si vous effectuez une mise à niveau vers une nouvelle version Insider
  2. Télécharger et installez le package DTrace à partir de centre de téléchargement.
    1. Cela installe les composants du mode utilisateur, les pilotes et les packages de fonctionnalités supplémentaires à la demande nécessaires pour que DTrace soit fonctionnel.
  3. Facultatif: mettez à jour le Variable d'environnement PATH inclure C:\Program Files\DTrace
    1. set PATH=%PATH%;"C:\Program Files\DTrace"
  4. Installer chemin de symbole
    1. Créez un nouveau répertoire pour la mise en cache des symboles localement. Exemple: mkdir c:\symbols
    2. Régler _NT_SYMBOL_PATH=srv*C:\symboles*http://msdl.microsoft.com/download/symbols
    3. DTrace télécharge automatiquement les symboles nécessaires à partir du serveur de symboles et les met en cache sur le chemin local.
  5. Optionnel:Configurer le débogueur du noyau connexion à la machine cible (lien MSDN). C'est seul requis si vous souhaitez suivre les événements du noyau à l'aide de FBT ou d'autres fournisseurs.
    1. Notez que vous devrez désactiver Secureboot et Bitlocker sur C:, (si activé), si vous souhaitez configurer un débogueur de noyau.
  6. Redémarrer machine cible

Utilisation de DTrace

  1. Ouvrir un invite de commande élevée.
  2. Exécutez l'une des commandes suivantes:
    # Récapitulatif des appels système par programme pendant 5 secondes: dtrace -Fn "tick-5sec { exit (0);} syscallentry{ @num[pid, execname] = count();} " # Récapitulatif définir/annuler le programme pour 3 secondes: dtrace -Fn "tick-3sec { exit (0);} syscall:: Nt*Timer*:entry { @[probefunc, execname, pid] = count();}" # Dump System Process structure du noyau: (nécessite chemin du symbole vers être réglé) dtrace -n "BEGIN{print(*(struct nt`_EPROCESS *) nt`PsInitialSystemProcess);exit (0);}" # Traçage des chemins via NTFS lors de l'exécution de notepad.exe (nécessite KD a

La commande dtrace -lvn syscall listera toutes les sondes et leurs paramètres disponibles auprès du fournisseur syscall.

Voici quelques-uns des fournisseurs disponibles sur Windows et ce qu'ils instrumentent.

  • appel système – Appels système NTOS
  • fbt (Function Boundary Tracing) – Entrée et retour de la fonction du noyau
  • pid – Traçage des processus en mode utilisateur. Comme FBT en mode noyau, mais permettant également l'instrumentation d'offsets de fonctions arbitraires.
  • etw (Traçage d'événements pour Windows) – Permet de définir des sondes pour ETW. Ce fournisseur permet de tirer parti de l'instrumentation du système d'exploitation existant dans DTrace.
    • C'est un ajout que nous avons fait à DTrace pour lui permettre d'exposer et d'obtenir toutes les informations que Windows fournit déjà dans ETW.

Vous trouverez plus d'exemples de scripts applicables aux scénarios Windows dans ce répertoire d'échantillons.

La source: Microsoft

Microsoft a corrigé les vols d'applications Windows 10 intégrés pour les initiés

Microsoft a corrigé les vols d'applications Windows 10 intégrés pour les initiés

Comme vous le savez peut-être déjà, il y a plusieurs jours, Microsoft a suspendu les mises à jour...

Lire la suite

Obtenez les icônes du système de canal de développement dans Windows 10 stable

Obtenez les icônes du système de canal de développement dans Windows 10 stable

CONSEILLÉ: Cliquez ici pour résoudre les problèmes de Windows et optimiser les performances du sy...

Lire la suite

La mise à jour du firmware de mars est désormais disponible pour Surface Pro 5 et 7 Plus

La mise à jour du firmware de mars est désormais disponible pour Surface Pro 5 et 7 Plus

CONSEILLÉ: Cliquez ici pour résoudre les problèmes de Windows et optimiser les performances du sy...

Lire la suite