Kann SOS in WinDbg nicht laden
Hintergrund: ich bin neu in WinDbg und zu versuchen, es zum ersten mal ausgeführt. Ich will zu prüfen, ein Speicher-dump, die ich nahm aus einem Laufenden ASP.NET 4 Website gehostet im IIS 7 auf Windows Server 2008 (x86) heruntergeladen und auf meiner lokalen Maschine.
Habe ich installiert, die debugging-tools und eingeleitet von WinDbg zum ersten mal, öffnen Sie den crash-dump. Ich ging zu File | Symbol File Path und legen Sie den Pfad zur "*srv*c:\symbols*http://msdl.microsoft.com/downloads/symbols*" und wartete, bis alle Symbole zu laden.
Beim laden SOS, lief ich in Probleme. Zuerst versuchte ich den folgenden Befehl...
.loadby sos mscorwks
...und erhielt die Antwort "Unable to find module 'mscorwks'".
Nach scheuern im web, die ich versuchte zu laden mscorwks, indem Sie den folgenden Befehl ausführen...
sxe ld mscorwks.dll
g
...und erhielt die Antwort "Nein runnable debuggees Fehler in 'g'"
Habe ich kopiert SOS.dll (aus C:\Windows\Microsoft.NET\Framework\v4.0.30319) in der WinDbg-Verzeichnis, dann versucht...
.load sos
...und erhielt die Fehlermeldung...
The call to LoadLibrary(sos) failed, Win32 error 0n193
"%1 is not a valid Win32 application."
Please check your debugger configuration and/or network access.
Ich bin mir nicht ganz sicher wie es weitergehen soll. Ich will einfach nur laden, SOS und Graben, um diese dump-Datei. Jegliche Hilfe würde sehr geschätzt werden.
Zur info...ich bin versucht, öffnen Sie die dump-Datei auf einem 64-bit-version von Windows 7 mit der 64-bit-version von Windbg.
InformationsquelleAutor der Frage Kevin Babcock | 2010-12-07
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die CLR-runtime-dll umbenannt
clr.dll
mit .NET 4. Damit laden Sie die richtige version von SOS-Sie müssen passen Sie Ihre.loadby
Befehl. I. e.Auch, wenn Sie auf 64-bit, installieren Sie die 32-bit-version von Debugging Tools für Windowsum auch debug 32-bit-apps. Sie installieren side-by-side, so dass es keine Probleme hat, sowohl die 32-bit-und die 64-bit-version der gleichen Maschine.
Ich würde abraten kopieren SOS.dll. SOS übereinstimmen muss die genaue version des Frameworks, so lange, wie Sie laden Sie es aus dem framework-Verzeichnis mit
.loadby
Sie sind alle gesetzt.InformationsquelleAutor der Antwort Brian Rasmussen
Den WinDbg-Befehl 'g' bedeutet [Weiter]
Da Sie die Eröffnung einer dump-Datei gibt es keine Möglichkeit auf "weiter", es enthält nur die Speicher verarbeiten.
Also die Meldung " Kein runnable debuggees Fehler in 'g' " ist logisch in Ihrem Fall, da der Prozess ist nicht läuft.
Hinblick auf laden Sie die richtige version von SOS verwenden Sie den folgenden Befehl ein, je nach dem .NET-version.
.NET 4 und höher .loadby sos
.NET 3.5 und 2
.loadby sos mscorwks
.NET 1.0 und 1.1
.laden clr10\sos
InformationsquelleAutor der Antwort HerbalMart
Kam gerade über ein ähnliches Problem beim laden SOS und war immer "das angegebene Modul konnte nicht gefunden werden". Kam mit einer anderen Lösung so, wenn die Lösungen hier nicht helfen, versuchen Sie dies:
.loadby sos-clr - das angegebene Modul konnte nicht gefunden werden
InformationsquelleAutor der Antwort Denis
Antworten müssen verbessert werden, da im Laufe der Zeit die Dinge wurden einfacher zu handhaben sos-laden.
JOHN ROBBINS hat schöne Artikel um ihn herum, Sehen Sie, dass Microsoft symbol-Server konfiguriert sind in der Symboldatei Pfad und laufen !analyze-v " auf der Eingabeaufforderung windbg, dies wird den trick tun wird der download relevant pas-Dateien.
Um zu überprüfen, ausführen .Kette auf der Eingabeaufforderung, und Sie werden sehen, die geladenen dll.
InformationsquelleAutor der Antwort Kiran Prabhu