Mam bardzo dziwny problem przy próbie debugowania pliku minidump przy użyciu windbg. Próbowałem tego zarówno na mojej maszynie &, uruchamiając windbg na maszynie docelowej, z której pobrano minizrzadkę, ale wynik jest taki sam w obu przypadkach.Windbg oczekuje innej wersji pliku mscordacwks.dll
Na początku ładuję wymagane biblioteki DLL, jak pokazano poniżej, zauważ, że ten sam problem występuje, jeśli ustawię sympath na serwerze symboli microsoft.
0: 000> .symfix c: \ SOS
0: 000> .load C: \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ sos
Kontrola łańcuch wszystko wygląda dobrze, więc teraz idę do uruchomienia! pe i dostaję błąd o mscordacwks, który normalnie, o ile mi wiadomo, wskazuje, że używam złej wersji platformy .net. Ale tak naprawdę nie powinno być w tym przypadku, ponieważ uruchamiam to na maszynie docelowej.
I wtedy zrobić opisowy załadunek
.cordll ve -u -l
i otrzymać następujący komunikat o błędzie
CLRDLL: C: \ Windows \ Microsoft .NET \ Framework \ v4.0.30319 \ mscordacwks.dll: 4.0.30319.17929 f: 8 nie pasuje do żądanej wersji 4.0.30319.296 f: 8
Czego nie rozumiem, to dlaczego windbg szuka starszej wersji mscordacwks? Wygląda na to, że kompilacja .296 jest wersją clr, która pobiera dane z serwera symboli ms, ale powiedziałem windbg, aby używała wersji lokalnej.
Próbowałem podejść sugerowanych here i here, ale nic nie działa. Każda pomoc jest bardzo doceniana.
Wygląda na to, że przy próbie debugowania aplikacji .NET 4 przy użyciu SOS po zainstalowaniu programu .NET 4.5 zdarzają się podobne problemy. Zobacz np. u dołu: http://epiwiki.se/tools/windbg/analyze-the-dump-file/failed-to-load-data-access-dll,-0x80004005 i na środku: http://www.wintellect.com /cs/blogs/jrobbins/archive/2012/03/08/what-s-new-in-sos-for-net-4-5.aspx – Iridium
może to wyjaśnić, jako pierwszą rzeczą, najnowszą wersję narzędzi do debugowania dla systemu Windows jest monit o zainstalowanie .net 4.5 – Johnv2020
Z której wersji narzędzi do debugowania korzystasz? – lowleveldesign