2010-01-20 5 views
6

Ich bin in der Erstellung von Speicherabbilddateien für einen verwalteten Prozess suchen.Erstellen einer Speicherabbilddatei für eine verwaltete (.net) Anwendung mit windbg (oder mscordmp)

Ich weiß, dass ich windbg verwenden kann, um eine Speicherabbilddatei zu erstellen, aber ich frage mich, ob sie irgendwelche speziellen Flags sind, die ich an den ".dump" -Befehl übergeben sollte, da es eine verwaltete Anwendung anstelle eines systemeigenen ist ein.

eine verwandte Seitenfrage: Ich habe von einem Tool namens mscordmp.exe gehört (wenn Sie es googeln, finden Sie online Erwähnung davon). Ist mscordmp noch relevant? Ich kann nirgendwo einen Download-Punkt finden, aber ich dachte, dass es besser geeignet wäre, um verwalteten Speicher als windbg zu entladen.

+0

mögliche Duplikate von [Wie nehme ich eine gute Absturzsicherung für .NET?] (Http://stackoverflow.com/questions/24874027/how-do-i-take-a-good-crash-dump-for -Netz) –

Antwort

4

Sie sollten/ma verwenden, um einen vollständigen Speicherauszug zu erstellen. Sonst werden sich die sos beschweren, dass die verwaltete Analyse sehr begrenzt sein wird.

0

Nein, es gibt keine speziellen Flags in Bezug auf verwaltete Anwendung, windbg erstellt nur Speicherabbild, es ist Rohdaten. Es ist der Zweck Ihres Analysetools, zu wissen, ob Ihr Speicherauszug für eine verwaltete Anwendung oder nicht verwaltet erstellt wurde.

Wenn über die Analyse verwaltete Anwendung gesprochen geben Sie die folgenden Schritte können sein:

  1. befestigen windbg
  2. laufen .dump /ma <outputfilename.dmp> verwaltete Anwendung läuft zu verarbeiten. Es erstellt eine Dump-Datei, diese Operation kann je nach Speicherbedarf des Prozesses einige Minuten dauern. Das Flag /ma weist auf die Erstellung des vollständigen Speicherabzugs des angehängten Prozesses mit allen aktivierten Optionen hin (es handelt sich nicht um einen vollständigen Systemabzug, sondern nur um einen angehängten Prozess).
  3. vom Prozess trennen, kann es weiter ausgeführt werden, während Sie Dump-Datei in windbg laden und analysieren können.
  4. sos.dll ist die gemeinsame Erweiterung windbg für die Analyse von verwalteten Anwendungen.

p.s. Es kann Probleme beim Aktivieren von sos.dll mit .load sos.dll geben, in diesem Fall können Sie versuchen .loadby sos mscorwks.

Verwandte Themen