Comment capturer un vidage de processus sur Windows lorsqu’il se bloque de manière aléatoire
57614
Created On 05/22/22 12:47 PM - Last Modified 07/13/23 07:53 AM
Objective
Dans les scénarios où le processus se bloque aléatoirement, nous devons utiliser un outil dédié qui capture le vidage
de processus aléatoire Proc Dump est un outil Microsoft Sys Internal que nous pouvons utiliser à cette fin
Environment
- Windows OS
- Scénarios de dépannage sur Cortex XDR l’endroit où le processus se bloque
Procedure
Télécharger Procdump Microsoft Procdump
Procdump vide automatiquement la mémoire du processus lorsqu'il se bloque (vidage complet du processus) lorsque vous suivez les étapes suivantes.
- Créer un dossier pour les vidages
- Exécutez la commande suivante à partir de l’emplacement de procdump.exe : procdump -ma -i <le dossier dans lequel effectuer le vidage>
Par exemple : procdump -ma -i c:\dumps
- La commande procdump configure procdump pour qu’il s’exécute chaque fois qu’il existe une exception non gérée (un plantage).
- Cela signifie que chaque fois qu’un processus se bloque, un vidage du processus sera pris et enregistré dans le chemin fourni.
Additional Information
Palo Alto ne prend pas en charge l’outil, l’article est donné au cas où les clients ne seraient pas au courant de cet outil pour capturer le vidage de processus.
Utilisation : Procdump [-a] [[-C|-cl CPU utilisation] [-u] [-s secondes]] [-n dépasse] [-e [1 [-b]] [-f <filtre,... >] [-g] [-h] [-l] [-m|-ml commit usage] [-ma | -mp] [-o] [-p|-pl counter threshold] [-r] [-t] [-d <callback >] [-64] <[-w] <nom du processus ou nom du service ou PID> [fichier de vidageDLL] | -i <fichier de vidage> | -u | -x <vidage fichier> <fichier image> [arguments] >] [-? [ -e]
| Paramètre | Description |
| -a | Évitez les pannes. Nécessite -r. Si le déclencheur entraîne la suspension prolongée de la cible en raison d’un dépassement de la limite de vidage simultané, le déclencheur est ignoré. |
| -à | Évitez les pannes au moment du délai d’expiration. Annulez la collecte du déclencheur en N quelques secondes. |
| -b | Traitez les points d’arrêt de débogage comme des exceptions (sinon, ignorez-les). |
| -c | CPU seuil à partir duquel créer un vidage du processus. |
| -Cl | CPU seuil en dessous duquel créer un vidage du processus. |
| -d | Appelez la routine de rappel minidump nommée MiniDumpCallbackRoutine du DLLfichier . |
| -f | Écrivez un vidage lorsque le processus rencontre une exception non gérée. Incluez le 1 pour créer un dump sur les exceptions de la première chance. |
| -f | Filtrez les exceptions de la première chance. Les caractères génériques (*) sont pris en charge. Pour afficher simplement les noms sans vidage, utilisez un filtre vide (« »). |
| -Fx | Filtrer (exclure) sur le contenu des exceptions et la journalisation de débogage. 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 | Vidage d’écriture si le processus a une fenêtre bloquée (ne répond pas aux messages de fenêtre pendant au moins 5 secondes). |
| -i | Installez ProcDump en tant que débogueur post-mortem AeDebug. Seuls -ma, -mp, -d et -r sont pris en charge comme options supplémentaires. |
| -k | Tuer le processus après le clonage (-r) ou à la fin de la collecte de vidage |
| -l | Affichez la journalisation de débogage du processus. |
| -m | Seuil de validation de la mémoire dans MB lequel créer un vidage. |
| -ma | Écrivez un fichier de vidage avec toute la mémoire du processus. Le format de vidage par défaut inclut uniquement les informations de thread et de descripteur. |
| -MC | Écrivez un fichier de vidage personnalisé. Inclure la mémoire définie par le masque de MINIDUMP_TYPE spécifié (Hex). |
| -Md | Écrivez un fichier de vidage de rappel. Incluez la mémoire définie par la routine de rappel MiniDumpWriteDump nommée MiniDumpCallbackRoutine du DLLfichier . |
| -Mk | Écrivez également un fichier de vidage du noyau. Inclut les piles de noyau des threads du processus. OS Ne prend pas en charge un vidage de noyau (-mk) lors de l'utilisation d'un clone (-r). Lorsque vous utilisez plusieurs tailles de vidage, un vidage de noyau est pris pour chaque taille de vidage. |
| -ml | Déclenchez lorsque la validation de la mémoire tombe en dessous de la valeur spécifiée MB . |
| -mm | Écrivez un mini fichier de vidage (par défaut). |
| -mp | Écrivez un fichier de vidage avec des informations de thread et de descripteur, ainsi que toute la mémoire de processus de lecture/écriture. Pour réduire la taille du vidage, les zones de mémoire supérieures à 512 Mo sont recherchées et, si elles sont trouvées, la plus grande zone est exclue. A La zone de mémoire est la collection de zones d’allocation de mémoire de même taille. La suppression de cette mémoire (cache) réduit les vidages Exchange et SQL Server de plus de 90 %. |
| -n | Nombre de dumps à écrire avant de quitter. |
| -o | Remplacer un fichier de vidage existant. |
| -p | Déclenchez sur le compteur de performance spécifié lorsque le seuil est dépassé. Remarque : pour spécifier un compteur de processus lorsque plusieurs instances du processus sont en cours d’exécution, utilisez le processus ID avec la syntaxe suivante : « \Process(<nom>_<pid>)\counter » |
| -.pl | Déclenchez lorsque le compteur de performance tombe en dessous de la valeur spécifiée. |
| -r | Vider à l’aide d’un clone. La limite simultanée est facultative (par défaut 1, max 5). CAUTION: une valeur de simultanéité élevée peut avoir un impact sur les performances du système. - Windows 7 : Utilise Reflection. OS ne prend pas en charge -e. - Windows 8.0 : utilise la réflexion. OS 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 | Écrivez un vidage lorsque le processus se termine. |
| -u | Traiter CPU l’utilisation par rapport à un seul cœur (utilisé avec -c). Comme seule option, désinstalle ProcDump en tant que débogueur post-mortem. |
| -w | Attendez que le processus spécifié se lance s'il n'est pas en cours d'exécution. |
| -Wer | Mettez en file d’attente le vidage (le plus volumineux) vers le Rapport d’erreurs Windows. |
| -x | Lancez l’image spécifiée avec des arguments facultatifs. S’il s’agit d’une application ou d’un package Store, ProcDump démarrera lors de la prochaine activation (uniquement). |
| -64 | Par défaut, ProcDump capture un vidage 32 bits d’un processus 32 bits lorsqu’il est exécuté sur Windows 64 bits. Cette option remplace la création d’un vidage 64 bits. Utilisez uniquement pour le débogage du sous-système WOW64. |
| -? | Utiliser-? -e pour voir des exemples de lignes de commande. |
Indicateurs d’option ProcDump :