Process Monitor no se inicia en una computadora de 64 bits


23

Cuando intento iniciar Process Monitor desde SysInternals en algunas máquinas con Windows 7 de 64 bits, el proceso no se inicia. No hay ningún mensaje de error. Hago doble clic y no pasa nada. Otras computadoras con Windows 7 de 64 bits funcionan bien. ¿Algunas ideas?


Tengo el mismo problema, y ​​puedo ejecutar Process Monitor en modo de 32 bits con la opción de línea de comandos procmon.exe /Run32. Sin embargo, no admite la captura en este modo.
jirkamat

@jirkamat no funciona aquí :(
Zero3

Respuestas:


33

Aquí está lo que encontré. El Procmon.exe de 32 bits contiene el exe de 64 bits dentro de él como un recurso binario. Cuando se inicia el exe de 32 bits, extrae la versión de 64 bits a un archivo oculto llamado Procmon64.exe y luego lo ejecuta. Por alguna razón, este proceso falla en algunas instalaciones de Windows 7.

Logré extraer el exe de 64 bits usando Visual Studio 2010.

  1. Abra Visual Studio y abra el archivo Procmon.exe usando el menú Archivo-> Abrir-> Archivo ...
  2. En el árbol de recursos, expanda el nodo "BINRES"
  3. Haga clic derecho en el nodo 1308 y seleccione Exportar ...
  4. Denomine el recurso exportado Procmon-64.exe y guarde
  5. Ejecute el exe extraído

No nombre el exe Procmon64.exe extraído (sin guión) porque el Procmon de 32 bits intentará eliminarlo si tiene la oportunidad.

Si no tiene Visual Studio, use un extractor de recursos ejecutables de Windows como ResourcesExtract - http://www.nirsoft.net/utils/resources_extract.html


2
Es interesante que haya encontrado una solución alternativa, pero me interesaría mucho más saber por qué incluso necesitaría hacer eso.
Zoredache

También me gustaría encontrar la causa raíz, pero no vale la pena depurar un proceso nativo sin símbolos. Especialmente uno tan integrado con el sistema operativo como Process Monitor.
Ryan Michela

¡Extraer el exe de 64 bits de ProcMon en EXE independiente y ejecutar este exe me resuelve este problema! ProcMon está funcionando bien.
jirkamat

44
Una vez mientras hacía doble clic ociosamente en Procmon.exe una y otra vez con frustración, vi el flash Procmon64.exe oculto en el Explorador de Windows. Esto me dio la pista de que la versión de 64 bits estaba siendo extraída por la versión de 32 bits. Después de este presentimiento me llevó a abrir el exe de 32 bits para examinar sus recursos y encontré uno que era mucho más grande que los demás. Extraje el recurso y lo guardé como un archivo .exe. He aquí que faltaba el Monitor de proceso de 64 bits.
Ryan Michela

1
Como tengo este problema con muchos de los programas de Sysinternal, específicamente todos los que extraen una versión de 64 bits (esto de repente sucedió muy recientemente, no puedo ejecutar ninguno de ellos porque dice que el directorio no se puede escribir), pero si ejecuta el extractor de recursos y hace clic en 'activos binarios' o en cualquiera de las aplicaciones de sysinternal, básicamente puede ordenar por tamaño, y la más grande será la aplicación. Simplemente cambiarle el nombre a exe y listo ~
mgrandi

5

Dejame hacer volar tu mente. procmon.exe REQUIERE que el servicio de estación de trabajo se ejecute para comenzar. Lo usa para enumerar algo y morirá en silencio sin él.

Esto no está documentado en ninguna parte y es bastante falso.


1
¡Sí! ¡Esto fue! Esta respuesta debe ir a la cima.
él mismo

Sí, eso lo hizo por mí. La versión 3.10 no lo requiere, pero la versión 3.20 sí. Has tenido éxito; mente alucinada. Decir "bastante falso" es un eufemismo enorme. No tengo ganas de ejecutar ese servicio, por lo que estoy muy decepcionado con Mark.
Synetech

2

Sé que este hilo ha pasado un tiempo, pero acabo de ver este problema últimamente y noté otro factor que podría ser útil. Administrador de derecho. Si inicio sesión como administrador y lo ejecuto, funciona bien. Si inicia sesión como no administrador y lo ejecuta, el problema ocurre y el procmon-64 extraído muestra el mismo problema.


2

Logré extraer ProcMon64.exe con el siguiente script Perl colocado y ejecutado en la carpeta temporal.

use File::Copy;

if(fork()==0)
{ system "C:\\SysInternals\\ProcMon.exe"}
else
{  for($i=1;$i<1000;$i++)
    {if(-e 'ProcMon64.exe')
      { copy('ProcMon64.exe',$i.'.exe')}
    }
}

Después de múltiples ejecuciones, crea decenas de copias que son todas iguales (el mismo CRC32)



0

Solucioné este problema volviendo a verificar mis variables de entorno. Puede verificar %TEMP%si alguna vez agregó algo antes. Elimine cualquier otra carpeta a excepción de la temperatura de Windows y luego reinicie.


-2

Usé Resource Hacker. Extraer 1038 como bin. agregue .exe y parece comenzar.


El ejecutable no se abrirá en el hacker de recursos ...
Amalgovinus
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.