Création d'un vidage de la mémoire d'un processus dans Windows Server 2003?
-
22-09-2019 - |
Question
Depuis Windows Vista, nous avons la possibilité de créer une belle image mémoire d'un processus directement à partir du Gestionnaire des tâches. Malheureusement, Windows Server 2003 n'a pas encore cette option :( J'ai trouvé des façons de faire un vidage de la mémoire de l'ensemble du système complet, mais qui est un peu trop.
Y at-il un moyen de jeter un seul processus? Comme il est un serveur de production, je ne veux pas installer des outils lourds poids ou et un service qui fonctionne en arrière-plan, idéalement, je voudrais simplement vider le processus, copiez le vidage sur ma propre machine et déboguer là.
La solution
Oui, chercher userdump.exe. Voir cette KB article .
Autres conseils
Vous pouvez joindre le rel="noreferrer"> (ntsd ou windbg) à le proccess, lorsque vous voulez créer un vidage du processus, vous pouvez utiliser la commande .dump:
0:000> .dump /ma myprocess-crash.dmp
Creating myprocess-crash.dmp - mini user dump
Dump successfully written
0:000>
Je pense que cette « réponse » devrait être un commentaire sous la réponse de jeffamaphone mais je n'ai pas assez réputation pour commenter.
Windows Server 2003 est livré avec ntsd donc il n'y a pas besoin d'installer quoi que ce soit. Obtenez l'ID de processus du processus et joindre ntsd au processus:
C:> ntsd -p 4356
Ensuite, utilisez ntsd pour vider le processus:
.dump /f c:\MyDumpFiles\foo.dmp
Ne pas oublier ProcDump de sysinternals.com (redirige vers MS car ils les ont achetés il y a quelques années). Très petit téléchargement.