2010-10-22 19 views
14

Recientemente recibí un volcado de emergencia de 64 bits de un cliente.
Nuestros procesos son de 32 bits, pero la máquina del cliente se está ejecutando x64 Server 2008.Volcado de depuración del proceso de 32 bits capturado en la máquina de 64 bits

Visual Studio (2008 y 2010 Express) me dice que tengo que usar la versión de 64 bits de MSVSMON.EXE, que No puedo porque no tengo una máquina de 64 bits.

Estoy bastante seguro de que hay una manera de hacer esto en WinDbg, pero creo que WinDbg es hostil.

¿Hay alguna forma de depurar un volcado de 64 bits en una máquina de 32 bits, preferiblemente utilizando Visual Studio?

+1

Esto ya no es un problema [de 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) en. –

Respuesta

10

Debe asegurarse de que el cliente utilice herramientas de 32 bits (adplus o DebugDiag) para capturar volcados de archivos bloqueados para sus procesos de 32 bits. Luego puede usar su máquina de 32 bits para depurar los volcados.

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

comentario de Isalamon Aunque es técnicamente correcto, nadie le gustaría que ejecutar como el seguimiento de la pila es horrible.

Hazle saber a tus clientes que es necesario y espera que coopere.

Si usted no está familiarizado con el análisis de descarga, Microsoft está siempre a su disposición, http://support.microsoft.com

+2

Usé ProcDump, como se indica en la publicación de blog vinculada. Funciona como un encanto, incluso con código administrado en VS2010. – GregC

1

¿Se trata de Userdump o kernel dump? Parece que tienes el volcado del sistema. Si ese es el caso, entonces puede tomar la ayuda de la extensión! Wow64exts en windbg y puede originar el problema.

1

que han conseguido excelentes resultados utilizando el asesoramiento sobre el cambio al modo x86 usando wow64exts.sw tal como se aconseja aquí:

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

figuras asesoramiento igual aquí:

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

Y de fondo y los comandos relacionados aquí:

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

Hope esto sirve como una recopilación de entradas decentes sobre este tema, además de lo que ya existe en este hilo. Gracias.

1

He solucionado el problema usando el administrador de tareas de 32 bits (C: \ Windows \ SysWOW64 \ Taskmgr.exe) para capturar el volcado.

Cuestiones relacionadas