
Une version Linux de l'outil ProcDump Sysinternals
ProcDump est une réinterprétation Linux et Mac de l’outil classique ProcDump de la suite Sysinternals pour Windows. ProcDump offre aux développeurs Linux et Mac un moyen pratique de créer des coredumps de leur application en fonction de déclencheurs de performance. ProcDump pour Linux et Mac fait partie de Sysinternals.

gdb >= 7.6.1Veuillez consulter les instructions d’installation ici.
Veuillez consulter les instructions de compilation ici.
CHANGEMENT IMPORTANT Avec la version 1.3 de ProcDump, les options sont maintenant alignées avec la version Windows de ProcDump. Veuillez noter que la version Mac possède actuellement un ensemble limité de déclencheurs.
Capture Usage:
procdump [-n Count]
[-s Seconds]
[-c|-cl CPU_Usage]
[-m|-ml Commit_Usage1[,Commit_Usage2...]]
[-gcm [<GCGeneration>: | LOH: | POH:]Memory_Usage1[,Memory_Usage2...]]
[-gcgen Generation]
[-restrack [nodump]]
[-sr Sample_Rate]
[-tc Thread_Threshold]
[-fc FileDescriptor_Threshold]
[-sig Signal_Number1[,Signal_Number2...]]
[-e]
[-f Include_Filter,...]
[-fx Exclude_Filter]
[-mc Custom_Dump_Mask]
[-pf Polling_Frequency]
[-o]
[-log syslog|stdout]
{
{{[-w] Process_Name | [-pgid] PID} [Dump_File | Dump_Folder]}
}
Options:
-n Nombre de vidages à écrire avant de quitter.
-s Secondes consécutives avant l’écriture du vidage (par défaut 10).
-c Seuil CPU au-dessus duquel créer un vidage du processus.
-cl Seuil CPU en dessous duquel créer un vidage du processus.
-m Seuil(s) d’engagement mémoire (Mo) au-dessus duquel créer des vidages.
-ml Seuil(s) d’engagement mémoire (Mo) en dessous duquel créer des vidages.
-gcm [.NET] Seuil(s) de mémoire GC (Mo) au-dessus duquel créer des vidages pour la génération ou le tas spécifié (par défaut, utilisation mémoire totale .NET).
-gcgen [.NET] Créer un vidage au début et à la fin du garbage collection de la génération spécifiée.
-restrack Activer le suivi des fuites mémoire (famille d’APIs malloc). Utilisé sans autre déclencheur, appuyez sur 't' pour capturer manuellement un rapport restrack. Utilisé avec d’autres déclencheurs, l’option 'nodump' empêche la génération du vidage et ne produit que des rapports restrack.
-sr Taux d’échantillonnage avec -restrack.
-tc Seuil de nombre de threads au-dessus duquel créer un vidage du processus.
-fc Seuil de nombre de descripteurs de fichier au-dessus duquel créer un vidage du processus.
-sig Liste séparée par des virgules des numéros de signaux pendant lesquels tout signal entraîne un vidage du processus.
-e [.NET] Créer un vidage lorsque le processus rencontre une exception.
-f Filtre (inclusion) sur le contenu des exceptions .NET (séparés par des virgules). Les wildcards (*) sont supportées.
-fx Filtre (exclusion) sur le contenu des piles d’appels -restrack. Les wildcards (*) sont supportées.
-mc Masque personnalisé de vidage (en hexadécimal) indiquant quelle mémoire doit être incluse dans le vidage. Voir 'man core' (/proc/[pid]/coredump_filter) pour les options disponibles.
-pf Fréquence d’interrogation.
-o Écraser le fichier de vidage existant.
-log Écrit la trace étendue de ProcDump dans le flux de sortie spécifié (syslog ou stdout).
-w Attendre le lancement du processus spécifié s’il n’est pas en cours d’exécution.
-pgid L’ID de processus spécifié fait référence à un ID de groupe de processus.
L’option -restrack active le suivi des ressources, permettant la surveillance et le rapport de toute allocation de ressources n’ayant pas été libérée au moment de la génération du vidage. Les résultats sont sauvegardés dans un fichier avec l’extension '.restrack'. Actuellement, les fonctions d’allocation/libération suivantes sont suivies :
Allocation :
Libération :
La version Mac n’implémente pas actuellement le suivi des ressources.
Tous les exemples suivants ciblent un processus avec pid == 1234