2010-10-22 9 views
14

Niedawno otrzymałem od klienta 64-bitowy zrzut awaryjny.
Nasze procesy są 32-bitowe, ale maszyna klienta pracuje x64 Server 2008.Debugowanie zrzutów 32-bitowego procesu przechwyconego na maszynie 64-bitowej

Visual Studio (2008 i 2010 Express) mówi mi, że muszę korzystać z wersji 64-bitowej MSVSMON.EXE, który Nie mogę, ponieważ nie mam maszyny 64-bitowej.

Jestem prawie pewien, że jest sposób na zrobienie tego w WinDbg, ale uważam, że WinDbg jest wrogi.

Czy istnieje sposób debugowania 64-bitowego zrzutu na komputerze 32-bitowym, najlepiej przy użyciu programu Visual Studio?

+1

To już nie jest problem [z VS 2013] (http://blogs.msdn.com/b/visualstudioalm/archive/2013/10/16/opening-64-bit-dumps-of-32-bit -processes-in-visual-studio-2013.aspx) na. –

Odpowiedz

10

Należy upewnić się, że klient używa narzędzi 32-bitowych (adplus lub DebugDiag) do przechwytywania zrzutów awaryjnych dla 32-bitowych procesów. Następnie możesz użyć komputera 32-bitowego do debugowania zrzutów.

http://blogs.msdn.com/b/tess/archive/2010/09/29/capturing-memory-dumps-for-32-bit-processes-on-an-x64-machine.aspx

komentarz chociaż Isalamon jest technicznie poprawne, nikt nie chciałby, aby wykonać to jako ślad stosu jest straszne.

Poinformuj klienta, że ​​jest to konieczne i mam nadzieję, że on/ona współpracuje.

Jeśli nie są zaznajomieni z analizy zrzutu, Microsoft jest zawsze do Państwa dyspozycji, http://support.microsoft.com

+2

Użyłem ProcDump, zgodnie z opisem w połączonym blogu. Działa jak urok, nawet z zarządzanym kodem w VS2010. – GregC

1

Czy to Userdump, czy zrzut jądra? Wygląda na to, że masz zrzut systemu. Jeśli tak jest, to możesz skorzystać z rozszerzenia! Wow64exts na windbg i może spowodować problem.

1

Dostałem doskonałe rezultaty przy użyciu porady na przejście do trybu x86 używając wow64exts.sw jak poradził tutaj:

http://blogs.msdn.com/b/ntdebugging/archive/2008/06/03/how-to-debug-wow64-applications.aspx

same liczby doradcze tutaj:

http://blogs.msdn.com/b/msdnforum/archive/2010/03/14/how-do-i-switch-to-32bit-mode-when-i-use-windbg-to-debug-a-dump-of-a-32bit-application-running-on-an-x64-machine.aspx

i tła i pokrewne Komendy tutaj:

http://msdn.microsoft.com/en-us/library/windows/desktop/aa384163(v=vs.85).aspx

Nadzieja ta służy jako kompilacji przyzwoitych wejść na ten temat, oprócz tego, co już istnieje w tym wątku. Dzięki.

1

Rozwiązałem problem za pomocą 32-bitowego menedżera zadań (C: \ Windows \ SysWOW64 \ Taskmgr.exe) w celu przechwycenia zrzutu.

Powiązane problemy