Frage

Seit Windows Vista, haben wir die nette Option ein Speicherabbild eines Prozesses direkt vom Task-Manager zu erstellen. Leider Windows Server 2003 nicht über diese Option noch :( ich Wege gefunden, ein vollständiges systemweite Speicherabbild zu tun, aber das ist ein bisschen zu viel.

Gibt es eine Möglichkeit, einen einzelnen Prozess zu entleeren? Da dies ein Produktionsserver ist, will ich keine schweren Werkzeuge oder und Service installieren, dass läuft im Hintergrund, im Idealfall würde ich genauso wie der Prozess zu entleeren, um den Dump meiner eigenen Maschine und Debug es dort kopieren.

War es hilfreich?

Lösung

Ja, sucht userdump.exe. Sehen Sie diesen KB-Artikel .

Andere Tipps

können Sie legen die Windows-Debugger (ntsd oder windbg) zu die proccess, dann, wenn Sie einen Dump des Prozesses erstellen möchten, können Sie den .dump Befehl:

0:000> .dump /ma myprocess-crash.dmp
Creating myprocess-crash.dmp - mini user dump
Dump successfully written
0:000>

Ich denke, diese ‚Antwort‘ ein Kommentar unter jeffamaphone Antwort sein sollte, aber ich habe nicht genug Ruf zu kommentieren.

Windows Server 2003 Schiffe mit ntsd so gibt es keine Notwendigkeit, etwas zu installieren. Holen Sie sich die Prozess-ID des Prozesses und befestigen ntsd den Prozess:

C:> ntsd -p 4356

Dann nutzen ntsd den Prozess zu speichern:

.dump /f c:\MyDumpFiles\foo.dmp

Vergessen Sie nicht, über ProcDump von sysinternals.com (Umleitungen an MS, da sie ihnen ein paar Jahre zurückgekauft). Sehr kleiner Download bereit.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top