Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Par Mark Russinovich et Andrew Richards
Publication : 7 mai 2026
ProcDump(1,2 Mo)
Télécharger ProcDump pour Linux (GitHub)
Télécharger ProcDump pour Mac (GitHub)
Créé avec ZoomIt
Introduction
ProcDump est un utilitaire en ligne de commande dont l’objectif principal est de surveiller une application en cas de pics d’utilisation du processeur et de générer des vidages de mémoire pendant un pic qu’un administrateur ou un développeur peut utiliser pour déterminer la cause du pic. ProcDump inclut également la surveillance des fenêtres suspendues (en utilisant la même définition d’un blocage de fenêtre que Windows et le Gestionnaire des tâches), la surveillance des exceptions non gérées, et peut générer des vidages en fonction des valeurs des compteurs de performance système. Il peut également servir d’utilitaire de vidage de processus général que vous pouvez incorporer dans d’autres scripts.
Utilisation de ProcDump
Utilisation de capture :
procdump.exe [-mm] [-ma] [-mt] [-mp] [-mc <Mask>] [-md <Callback_DLL>] [-mk]
[-n <Count>]
[-s <Seconds>]
[-c|-cl <CPU_Usage> [-u]]
[-m|-ml <Commit_Usage>]
[-p|-pl <Counter> <Threshold>]
[-h]
[-e [1] [-g] [-b] [-ld] [-ud] [-ct] [-et]]
[-l]
[-t]
[-f <Include_Filter>, ...]
[-fx <Exclude_Filter>, ...]
[-dc <Comment>]
[-o]
[-r [1..5] [-a]]
[-at <Timeout>]
[-wer]
[-64]
{
{{[-w] <Process_Name> | <Service_Name> | <PID>} [<Dump_File> | <Dump_Folder>]}
|
{-x <Dump_Folder> <Image_File> [Argument, ...]}
}
Installation d'utilisation :
procdump.exe -i [Dump_Folder]
[-mm] [-ma] [-mt] [-mp] [-mc <Mask>] [-md <Callback_DLL>] [-mk]
[-r]
[-at <Timeout>]
[-k]
[-wer]
Désinstaller l’utilisation :
procdump.exe -u
Types de vidage :
| Type de vidage | Description |
|---|---|
| -mm | Écrivez un fichier de mini-dump. (par défaut) - Inclut la mémoire référencée directement et indirectement (les piles et ce qu’elles référencient). - Inclut toutes les métadonnées (Processus, Thread, Module, Handle, Espace d’adressage, etc.). |
| -ma | Écrivez un fichier de vidage « Complet ». - Inclut toute la mémoire (Image, Cartographiée et Privée). - Inclut toutes les métadonnées (Processus, Thread, Module, Handle, Espace d’adressage, etc.). |
| -mt | Créez un fichier de vidage de mémoire « Triage ». - Inclut la mémoire directement référencée (piles). - Inclut des métadonnées limitées (Processus, Thread, Module et Handle). - La suppression des informations sensibles est tentée, mais elle n’est pas garantie. |
| -mp | Écrivez un fichier de vidage « MiniPlus ». - Inclut toute la mémoire privée et toute la mémoire d'image en lecture-écriture ou la mémoire mappée. - Inclut toutes les métadonnées (Processus, Thread, Module, Handle, Espace d’adressage, etc.). - Pour réduire la taille, la plus grande zone de mémoire privée supérieure à 512 Mo est exclue. Une zone de mémoire est définie comme la somme des allocations de mémoire de même taille. Le vidage est aussi détaillé qu’un vidage complet, mais sa taille est comprise entre 10 % et 75 %. - Remarque : les processus CLR sont vidés en tant que full (-ma) en raison de limitations de débogage. |
| -mc | Écrivez un fichier de vidage « Personnalisé ». - Inclut la mémoire et les métadonnées définies par le masque spécifié MINIDUMP_TYPE (hexadécimal). |
| -md | Écrivez un fichier de vidage « Callback ». - Inclut la mémoire définie par la MiniDumpWriteDump routine de rappel nommée MiniDumpCallbackRoutine de la DLL spécifiée.- Inclut toutes les métadonnées (Processus, Thread, Module, Handle, Espace d’adressage, etc.). |
| -mk | Écrivez également un fichier de vidage « Noyau ». - Inclut les piles de noyau des threads dans le processus. - Le système d’exploitation ne prend pas en charge un vidage du noyau ( -mk) lors de l’utilisation d’un clone (-r).- Lorsque vous utilisez plusieurs tailles de vidage, un vidage du noyau est effectué pour chaque taille de vidage. |
Conditions :
| Condition | Description |
|---|---|
| -a | Évitez les pannes. Exige -r. Si le déclencheur devait entraîner l'interruption de la cible pendant une période prolongée en raison d'une limite de déchargement simultané dépassée, alors le déclencheur sera ignoré. |
| -at | Évitez les pannes chez Timeout. Annulez la collecte du déclencheur à N secondes. |
| -b | Traitez les points d’arrêt de débogage comme des exceptions (sinon, ignorez-les). |
| -c | Seuil CPU au-dessus duquel créer un dump de processus. |
| -cl | Seuil de CPU en dessous duquel un vidage du processus doit être créé. |
| -dc | Ajoutez la chaîne spécifiée au commentaire de vidage généré. |
| -e | Générez un vidage lorsque le processus rencontre une exception non gérée. Incluez le 1 pour créer un vidage sur les exceptions de première chance.Ajoutez -ld pour créer un vidage lorsqu’une DLL (module) est chargée (le filtrage s’applique).Ajoutez -ud pour créer un vidage lorsqu’une DLL (module) est déchargée (le filtrage s’applique).Ajoutez -ct pour créer un vidage lors de la création d’un thread.Ajoutez -et pour créer un vidage à la sortie d’un thread. |
| -f | Filtrez pour inclure le contenu des exceptions, la journalisation du débogage et le nom de fichier lors du chargement/déchargement des DLL. Les caractères génériques (*) sont pris en charge. |
| -fx | Filtrer (exclure) le contenu des exceptions, la journalisation de débogage et le nom de fichier lors du chargement/déchargement de DLL. Les caractères génériques (*) sont pris en charge. |
| -g | Exécuter en tant que débogueur natif dans un processus managé (pas d’interopérabilité). |
| -h | Écrire un vidage si le processus a une fenêtre figée (ne répond pas aux messages de fenêtre pendant au moins 5 secondes). |
| -k | Arrêtez le processus après le clonage (-r) ou à la fin de la collecte de vidage. |
| -l | Affichez la journalisation du débogage du processus. |
| -m | Seuil de validation de la mémoire en Mo auquel créer un vidage. |
| -ml | Déclencheur lorsque l'engagement de mémoire passe en dessous de la valeur spécifiée en Mo. |
| -n | Nombre de dumps à écrire avant de quitter. |
| -o | Remplacez un fichier de vidage existant. |
| -p | Se déclenche lorsque le compteur de performance est à ou dépasse le seuil spécifié. Certains compteurs et/ou noms d’instance peuvent être sensibles à la casse. |
| -pl | Déclencher lorsque le compteur de performances se situe en dessous du seuil spécifié. |
| -r | Vidage à l’aide d’un clone. La limite simultanée est facultative (1 par défaut, max. 5). Le système d’exploitation ne prend pas en charge un vidage du noyau (-mk) lors de l’utilisation d’un clone (-r).
ATTENTION : un taux de concurrence élevé peut altérer les performances du système.- Windows 7 : utilise la réflexion. Le système d’exploitation ne prend pas en charge -e.- Windows 8.0 : utilise la réflexion. Le système d’exploitation ne prend pas en charge -e.- Windows 8.1+ : utilise PSS. Tous les types de déclencheurs sont pris en charge. |
| -s | Secondes consécutives avant l’écriture du vidage (la valeur par défaut est 10). |
| -t | Écrire un vidage lors de la terminaison du processus. |
| -u | Traitez l’utilisation du processeur par rapport à un seul cœur (utilisé avec -c). |
| -v | DEBUG UNIQUEMENT : Sortie verbale détaillée. |
| -w | Attendez que le processus spécifié soit lancé s’il n’est pas en cours d’exécution. |
| -wer | Mettre en file d'attente le vidage le plus grand vers le Rapport d'erreurs Windows. |
| -x | Lancez l’image spécifiée avec des arguments facultatifs. S’il s’agit d’une application store ou d’un package, ProcDump démarre à la prochaine activation (uniquement). |
| -y | CACHÉ : Activation de l’application Store. |
| -64 | Par défaut, ProcDump capture un vidage 32 bits d’un processus 32 bits lors de l’exécution sur Windows 64 bits. Cette option permet de remplacer les paramètres pour créer un vidage 64 bits. Utilisez uniquement pour le débogage du sous-système WOW64. |
Contrat de licence :
Utilisez l’option de ligne de commande -accepteula pour accepter automatiquement le contrat de licence Sysinternals.
Arrêt automatisé :
-cancel <Target Process PID>
L’utilisation de cette option ou la définition d’un événement portant le nom ProcDump-<PID> revient à taper Ctrl+C pour terminer ProcDump de manière appropriée. L’arrêt normal garantit la reprise du processus si une capture est active. L’annulation s’applique à TOUTES les instances ProcDump qui surveillent le processus.
Nom de fichier :
Nom de fichier de vidage par défaut : PROCESSNAME_YYMMDD_HHMMSS.dmp
Les substitutions suivantes sont prises en charge :
| Substitution | Explication |
|---|---|
| PROCESSNAME | Nom du processus |
| PID | ID du processus |
| EXCEPTIONCODE | Code d'exception |
| AAMMJJ | Année/Mois/Jour |
| HHMMSS | Heure/Minute/Seconde |
Exemples
Écrivez un mini dump d'un processus nommé « notepad » (il ne peut y avoir qu'un seul résultat) :
C:\>procdump notepadÉcrire un vidage complet d’un processus avec le PID « 4572 » :
C:\>procdump -ma 4572Écrivez d’abord un mini vidage, puis un vidage complet d'un processus avec PID « 4572 » :
C:\>procdump -mm -ma 4572Écrivez 3 fichiers de vidage toutes les 5 secondes d'un processus nommé « notepad » :
C:\>procdump -n 3 -s 5 notepadÉcrivez jusqu'à 3 mini-dumps du processus nommé 'consume' lorsqu'il dépasse 20 % d'utilisation du processeur pendant cinq secondes.
C:\>procdump -n 3 -s 5 -c 20 consumeÉcrivez un mini-dump pour un processus nommé « hang.exe » quand l’une de ses fenêtres ne répond pas pendant plus de 5 secondes :
C:\>procdump -h hang.exeÉcrivez un vidage complet et noyau pour un processus nommé « hang.exe » quand l’une de ses fenêtres ne répond pas pendant plus de 5 secondes :
C:\>procdump -ma -mk -h hang.exeÉcrivez un mini-vidage d’un processus nommé « outlook » lorsque l’utilisation totale du processeur système dépasse 20 % pendant 10 secondes :
C:\>procdump outlook -s 10 -p "\Processor(_Total)\% Processor Time" 20Écrivez un vidage complet d’un processus nommé « outlook » lorsque le nombre de handles Outlook dépasse 10 000 :
C:\>procdump -ma outlook -p "\Process(Outlook)\Handle Count" 10000Écrivez un vidage complet du PID 1234 « svchost », instance 87, lorsque le nombre de handles dépasse 10 000 :
C:\>procdump -ma 1234 -p "\Process(svchost#87)\Handle Count" 10000Remarque : Compteurs d’instances multiples
S’il existe plusieurs instances du compteur, vous devez inclure le nom et/ou le numéro d’instance.\Processor(NNN)\% Processor Time \Thermal Zone Information(<name>)\Temperature \Process(<name>[#NNN])\<counter>Les anciens systèmes d’exploitation nécessitent que vous ajoutiez le PID pour les compteurs
\Process.\Process(<name>[_PID])\<counter>Conseil : Utilisez Analyseur de performances pour afficher les compteurs (respect de la casse, par exemple).
Conseil : Pour les compteurs basés sur\Process(*), utilisez PowerShell pour mapper un PID à son#NNN.Get-Counter -Counter "\Process(*)\ID Process"Écrivez un dump complet pour une exception de seconde chance :
C:\>procdump -ma -e w3wp.exeRéalisez un dump complet pour une exception de première ou de deuxième chance :
C:\>procdump -ma -e 1 w3wp.exeÉcrivez un vidage complet pour un message de chaîne de débogage :
C:\>procdump -ma -l w3wp.exeÉcrivez jusqu’à 10 dumps complets pour chaque exception de première ou deuxième chance de w3wp.exe.
C:\>procdump -ma -n 10 -e 1 w3wp.exeÉcrivez jusqu'à 10 dumps entiers si le code, le nom, ou le message d'une exception contient «
NotFound» :C:\>procdump -ma -n 10 -e 1 -f NotFound w3wp.exeÉcrivez jusqu'à 10 dumps complets si un message de débogage contient «
NotFound».C:\>procdump -ma -n 10 -l -f NotFound w3wp.exeAttendez un processus appelé « Bloc-notes » (et surveillez-le à la recherche d’exceptions) :
C:\>procdump -e -w notepadLancez un processus appelé « Bloc-notes » (et surveillez-le à la recherche d’exceptions) :
C:\>procdump -e -x c:\dumps notepadInscrivez-vous pour lancer et tenter d’activer une « application » du magasin. Une nouvelle instance ProcDump démarre lorsqu’elle est activée :
C:\>procdump -e -x c:\dumps Microsoft.BingMaps_8wekyb3d8bbwe!AppexMapsInscrivez-vous au lancement d’un « package » de magasin. Une nouvelle instance ProcDump démarre lorsqu’elle est activée (manuellement) :
C:\>procdump -e -x c:\dumps Microsoft.BingMaps_1.2.0.136_x64__8wekyb3d8bbweÉcrivez un vidage MiniPlus de la banque d’informations Microsoft Exchange lorsqu’elle a une exception non gérée :
C:\>procdump -mp -e store.exeAfficher sans générer de vidage les codes et noms d’exception de w3wp.exe.
C:\>procdump -e 1 -f "" w3wp.exeWindows 7/8.0; Utilisez Reflection pour réduire les pannes pour 5 déclencheurs consécutifs :
C:\>procdump -r -ma -n 5 -s 15 wmplayer.exeWindows 8.1+; utilisez PSS pour réduire les pannes pour 5 déclencheurs simultanés :
C:\>procdump -r 5 -ma -n 5 -s 15 wmplayer.exeInstallez ProcDump en tant que débogueur post-mortem (AeDebug) :
C:\>procdump -ma -i c:\dumps..ou..
C:\Dumps>procdump -ma -iDésinstallez ProcDump en tant que débogueur post-mortem (AeDebug) :
C:\>procdump -u
Consultez la liste des exemples de lignes de commande (les exemples sont répertoriés ci-dessus) :
C:\>procdump -? -e
Liens associés
- Livre sur les composants internes de Windows La page officielle des mises à jour et des errata du livre définitif sur les composants internes de Windows, par Mark Russinovich et David Solomon.
- Référence de l'administrateur Windows Sysinternals Le guide officiel des utilitaires Sysinternals par Mark Russinovich et Aaron Margosis, y compris les descriptions de tous les outils, leurs fonctionnalités, comment les utiliser pour le dépannage et des exemples de cas réels de leur utilisation.
ProcDump(1,2 Mo)
Télécharger ProcDump pour Linux (GitHub)
Télécharger ProcDump pour Mac (GitHub)
Fonctionne sur :
- Client : Windows 11 et versions ultérieures.
- Serveur : Windows Server 2016 et versions ultérieures.
En savoir plus
- Outils de défragmentation : #9 - ProcDump Cet épisode de Defrag Tools décrit ce que l’outil capture et les durées de panne attendues
- Outils de défragmentation : #10 - ProcDump - Déclencheurs Cet épisode couvre les options de déclencheur en particulier les exceptions de la 1ère & 2e chance
- Outils de défragmentation : #11 - ProcDump - Windows 8 & Process Monitor Cet épisode couvre la prise en charge des applications modernes et le support de la journalisation Process Monitor.