Pas exactement, mais il existe un moyen d'obtenir une visibilité dans la pile des appels du noyau, et en l'échantillonnant lors d'une utilisation élevée du processeur, vous pouvez généralement estimer ce qui est utilisé tout le temps.
Installez Process Explorer et assurez-vous de le configurer avec la prise en charge du serveur de symboles. Vous pouvez le faire par:
- Installation WinDebug pour obtenir une mise à jour dbghelp.dll
- Set Process Explorer pour utiliser cette version de dbghelp.dll en définissant le chemin dans les Options | Configurez le menu Symbols de Process Explorer.
- Toujours dans la même boîte de dialogue, définissez le chemin des symboles de manière à inclure le serveur de symboles MS et un cache local.
Voici un exemple de valeur pour le chemin de symbole:
SRV*C:\symbolcache*http://msdl.microsoft.com/download/symbols
(. Vous pouvez définir la variable d'environnement _NT_SYMBOL_PATH à la même valeur pour les outils de débogage utilisent le même serveur de symbole et le chemin cache) Ce chemin provoquera dbghelp.dll à télécharger des symboles sur le disque local lorsqu'on lui demande des symboles pour un module qui n'a pas de symboles localement. Après avoir configuré Process Explorer comme ceci, vous pouvez alors obtenir les propriétés d'un processus, aller à l'onglet des threads et double-cliquer sur le thread le plus occupé. Cause Process Explorer pour temporairement se connecter au processus et analyser la pile du thread, puis rechercher les symboles pour les différentes adresses de retour sur la pile. Les symboles des adresses de retour et les noms des modules (pour les pilotes tiers non-MS) devraient vous donner une idée claire de l'endroit où votre temps CPU est passé.
Une version plus récente de kernrate se trouve dans le Kit de pilotes Windows. – bk1e