ProcDump v12.0

Por Mark Russinovich y Andrew Richards

Publicado: 7 de mayo de 2026

Descargar ProcDump(1,2 MB)

Descarga de ProcDump para Linux (GitHub)
Descargar ProcDump para Mac (GitHub)

Creado con ZoomIt

Introducción

ProcDump es una utilidad de línea de comandos cuyo propósito principal es supervisar una aplicación para picos de CPU y generar volcados de memoria durante un pico que un administrador o desarrollador puede usar para determinar la causa del pico. ProcDump también incluye la supervisión de ventanas bloqueadas (con la misma definición de un bloqueo de ventana que usa Windows y el Administrador de tareas), la supervisión de excepciones no controladas y puede generar volcados en función de los valores de los contadores de rendimiento del sistema. También puede servir como una utilidad general de volcado de procesos que puede incorporar en otros scripts.

Uso de ProcDump

Uso de captura:

procdump.exe [-mm] [-ma] [-mt] [-mp] [-mc <Mask>] [-md <Callback_DLL>] [-mk]
            [-n <Count>]
            [-s <Seconds>]
            [-c|-cl <CPU_Usage> [-u]]
            [-m|-ml <Commit_Usage>]
            [-p|-pl <Counter> <Threshold>]
            [-h]
            [-e [1] [-g] [-b] [-ld] [-ud] [-ct] [-et]]
            [-l]
            [-t]
            [-f  <Include_Filter>, ...]
            [-fx <Exclude_Filter>, ...]
            [-dc <Comment>]
            [-o]
            [-r [1..5] [-a]]
            [-at <Timeout>]
            [-wer]
            [-64]
            {
                {{[-w] <Process_Name> | <Service_Name> | <PID>} [<Dump_File> | <Dump_Folder>]}
            |
                {-x <Dump_Folder> <Image_File> [Argument, ...]}
            }

Uso de instalación:

procdump.exe -i [Dump_Folder]
            [-mm] [-ma] [-mt] [-mp] [-mc <Mask>] [-md <Callback_DLL>] [-mk]
            [-r]
            [-at <Timeout>]
            [-k]
            [-wer]

Uso de desinstalación:

procdump.exe -u

Tipos de volcado:

Tipo de volcado Descripción
-mm Escribir un archivo de volcado de memoria «Mini». (predeterminado).
- Incluye memoria a la que se hace referencia directa e indirectamente (pilas de memoria y lo que estas refieren).
- Incluye todos los metadatos (proceso, subproceso, módulo, identificador, espacio de direcciones, etc.).
-ma Escribir un archivo de volcado "Completo".
- Incluye toda la memoria (imagen, mapeada y privada).
- Incluye todos los metadatos (proceso, subproceso, módulo, identificador, espacio de direcciones, etc.).
-mt Escribir un archivo de volcado 'Triage'.
- Incluye memoria a la que se hace referencia directamente (pilas).
- Incluye metadatos limitados (Proceso, Subproceso, Módulo y Controlador).
- Se intenta eliminar la información confidencial, pero no se garantiza.
-mp Escribir un archivo de volcado de memoria 'MiniPlus'.
- Incluye toda la memoria privada y toda la memoria de imagen de lectura/escritura o memoria mapeada.
- Incluye todos los metadatos (proceso, subproceso, módulo, identificador, espacio de direcciones, etc.).
- Para minimizar el tamaño, se excluye el área de memoria privada más grande de 512 MB.
  Un área de memoria se define como la suma de las asignaciones de memoria de mismo tamaño.
  El volcado de memoria es tan detallado como un volcado de memoria completo, pero es del 10% al 75% del tamaño.
- Nota: Los procesos CLR se generan de forma completa (-ma) debido a las limitaciones de depuración.
-mc Escribe un archivo de volcado "Personalizado".
- Incluye la memoria y los metadatos definidos por la máscara MINIDUMP_TYPE especificada (Hex).
-md Escribir un archivo de volcado de "Callback".
- Incluye la memoria definida por la rutina callback de MiniDumpWriteDump denominada MiniDumpCallbackRoutine del archivo DLL especificado.
- Incluye todos los metadatos (proceso, subproceso, módulo, identificador, espacio de direcciones, etc.).
-mk También escriba un archivo de volcado de memoria "Kernel".
- Incluye las pilas de kernel de los subprocesos en el proceso.
- El sistema operativo no admite un volcado de kernel (-mk) cuando se utiliza un clon (-r).
Cuando se usan varios tamaños de volcado, se realiza un volcado de kernel para cada tamaño de volcado.

Condiciones:

Condición Descripción
-a Evitar la interrupción. Se requiere -r. Si el desencadenador hará que el destino se suspenda durante un tiempo prolongado debido a un límite de volcado simultáneo superado, se omitirá el desencadenador.
-at Evitar la interrupción en el tiempo de espera. Cancelar la recopilación del desencadenador a los N segundos.
-b Tratar los puntos de interrupción de depuración como excepciones (de lo contrario, omitirlos).
-c Umbral de CPU por encima del cual se crea un volcado del proceso.
-cl Umbral de CPU por debajo del cual se crea un volcado del proceso.
-dc Agregar la cadena especificada al comentario de registro generado.
-e Escribir un volcado cuando el proceso encuentre una excepción no controlada.
Incluya el 1 para crear un vertido en las excepciones de primera oportunidad.
Agregue -ld para crear un volcado de memoria cuando se cargue una DLL (módulo) (se aplica el filtrado).
Agregue -ud para crear un volcado cuando se descargue un DLL (módulo) (se aplica el filtrado).
Agregue -ct para crear un volcado de memoria cuando se cree un subproceso.
Agregue -et para crear un volcado de memoria cuando se cierre un subproceso.
-f Filtrar (incluir) el contenido de las excepciones, el registro de depuración y el nombre de archivo en la carga o descarga de DLL. Se admiten caracteres comodín (*).
-fx Filtrar (excluir) en el contenido de las excepciones, el registro de depuración y el nombre de archivo durante la carga/descarga de DLL. Se admiten caracteres comodín (*).
-g Ejecutar como depurador nativo en un proceso administrado (sin interoperabilidad).
-h Escribir un volcado si el proceso tiene una ventana bloqueada (no responde a los mensajes de la ventana durante al menos 5 segundos).
-k Finalizar el proceso tras la clonación (-r), o al final de la recogida de volcados.
-l Mostrar el registro de depuración del proceso.
-m Umbral de confirmación de memoria en MB en el que se va a crear un volcado de memoria.
-ml Desencadenar cuando el compromiso de memoria cae por debajo de un valor especificado en MB.
-n Número de volcados de memoria que se escribirán antes de salir.
-o Sobrescribir un archivo de volcado existente.
-p Desencadenar cuando el contador de rendimiento está en, o supera, el umbral especificado. Algunos contadores o nombres de instancia pueden distinguir mayúsculas de minúsculas.
-pl Desencadenar cuando el contador de rendimiento cae por debajo del umbral especificado.
-r Realizar un volcado mediante un clon. El límite simultáneo es opcional (el valor predeterminado es 1, máximo 5). El sistema operativo no admite un volcado de kernel (-mk) al usar un clon (-r). PRECAUCIÓN: un valor de simultaneidad alto puede afectar al rendimiento del sistema.
- Windows 7: usa reflexión. El sistema operativo no admite -e.
- Windows 8.0: usa reflexión. El sistema operativo no admite -e.
- Windows 8.1+: usa PSS. Se admiten todos los tipos de desencadenadores.
-s Segundos consecutivos antes de escribir el volcado (el valor predeterminado es 10).
-t Escribir un volcado de memoria cuando finalice el proceso.
-u Tratar el uso de CPU en relación con un único núcleo (se usa con -c).
-v SOLO DEPURACIÓN: salida detallada.
-w Espere a que inicie el proceso especificado si no se está ejecutando.
-wer Poner en cola el volcado (mayor) en Informe de errores de Windows.
-x Iniciar la imagen especificada con argumentos opcionales. Si se trata de una aplicación o paquete de la tienda, ProcDump se iniciará en la siguiente activación (solo).
-y OCULTO: Activación de la Aplicación de Tienda.
-64 De forma predeterminada, ProcDump capturará un volcado de 32 bits de un proceso de 32 bits cuando se ejecute en Windows de 64 bits. Esta opción sobrescribe para crear un volcado de 64 bits. Usar solo para la depuración del subsistema WOW64.

Contrato de licencia:

Use la opción -accepteula de la línea de comandos para aceptar automáticamente el contrato de licencia de Sysinternals.

Terminación automatizada:

-cancel <Target Process PID>

El uso de esta opción o el establecimiento de un evento con el nombre ProcDump-<PID> es lo mismo que teclear Ctrl+C para terminar ProcDump correctamente. La finalización correcta garantiza que el proceso se reanude si una captura está activa. La cancelación se aplica a todas las instancias de ProcDump que supervisan el proceso.

Filename:

Nombre de archivo de volcado predeterminado: PROCESSNAME_YYMMDD_HHMMSS.dmp

Se admiten las siguientes sustituciones:

Sustitución Explicación
PROCESSNAME Nombre del proceso
PID Identificador del proceso
EXCEPTIONCODE Código de excepción
YYMMDD Año/Mes/Día
HHMMSS Hora/Minuto/Segundo

Ejemplos

  • Escribir un minivolcado de memoria de un proceso denominado "Bloc de notas" (solo puede existir una coincidencia):

    C:\>procdump notepad
    
  • Escribir un volcado completo de un proceso con PID "4572":

    C:\>procdump -ma 4572
    
  • Escribir primero un minivolcado y, a continuación, un volcado completo de un proceso con PID "4572":

    C:\>procdump -mm -ma 4572
    
  • Escribir 3 mini volcados cada 5 segundos de un proceso llamado "Bloc de notas".

    C:\>procdump -n 3 -s 5 notepad
    
  • Escribir hasta 3 minivolcados de memoria de un proceso denominado "consumir" cuando supere el 20 % de uso de CPU durante cinco segundos:

    C:\>procdump -n 3 -s 5 -c 20 consume
    
  • Escribir un volcado de memoria pequeño para un proceso denominado "hang.exe" si una de sus ventanas no responde durante más de 5 segundos:

    C:\>procdump -h hang.exe
    
  • Crea un archivo de volcado completo y de kernel para un proceso llamado "hang.exe" cuando una de sus ventanas está inactiva durante más de 5 segundos:

    C:\>procdump -ma -mk -h hang.exe
    
  • Escribir un minivolcado de memoria de un proceso denominado "outlook" cuando el uso total de CPU del sistema supere el 20 % durante 10 segundos:

    C:\>procdump outlook -s 10 -p "\Processor(_Total)\% Processor Time" 20
    
  • Escribir un volcado completo de un proceso denominado "outlook" cuando el número de handles de Outlook supere los 10,000.

    C:\>procdump -ma outlook -p "\Process(Outlook)\Handle Count" 10000
    
  • Escribir un volcado completo de PID 1234 de "svchost", instancia 87, cuando el recuento de identificadores supere los 10 000:

    C:\>procdump -ma 1234 -p "\Process(svchost#87)\Handle Count" 10000
    

    Nota: Contadores de instancias múltiples
    Si hay varias instancias del contador, deberá incluir el nombre y/o el número de instancia.

    \Processor(NNN)\% Processor Time
    \Thermal Zone Information(<name>)\Temperature
    \Process(<name>[#NNN])\<counter>
    

    Los sistemas operativos más antiguos requieren añadir el PID para los contadores \Process.

    \Process(<name>[_PID])\<counter>
    

    Consejo: Utiliza el Monitor de rendimiento para ver los contadores (sobre todo si hay sensibilidad a mayúsculas y minúsculas).
    Consejo: Para contadores basados en \Process(*), use PowerShell para asignar un PID a su #NNN.

    Get-Counter -Counter "\Process(*)\ID Process"
    
  • Escribir un volcado de memoria completo para una excepción de segunda oportunidad:

    C:\>procdump -ma -e w3wp.exe
    
  • Escribir un volcado completo para una excepción de primera o segunda oportunidad:

    C:\>procdump -ma -e 1 w3wp.exe
    
  • Escribir un volcado completo para un mensaje de cadena de depuración:

    C:\>procdump -ma -l w3wp.exe
    
  • Escribir hasta 10 volcados completos de cada primera o segunda oportunidad de excepción de w3wp.exe:

    C:\>procdump -ma -n 10 -e 1 w3wp.exe
    
  • Escribir hasta 10 volcados completos si el código/nombre/mensaje de una excepción contiene ''NotFound":

    C:\>procdump -ma -n 10 -e 1 -f NotFound w3wp.exe
    
  • Escribir hasta 10 volcados completos si un mensaje de cadena de depuración contiene "NotFound":

    C:\>procdump -ma -n 10 -l -f NotFound w3wp.exe
    
  • Esperar a un proceso denominado ‘notepad’ (y supervisarlo para detectar excepciones):

    C:\>procdump -e -w notepad
    
  • Lanzar un proceso llamado 'notepad' (y monitorearlo para detectar excepciones):

    C:\>procdump -e -x c:\dumps notepad
    
  • Registrarse para iniciar, e intentar activar, una "aplicación" de la tienda. Se iniciará una nueva instancia de ProcDump cuando se active:

    C:\>procdump -e -x c:\dumps Microsoft.BingMaps_8wekyb3d8bbwe!AppexMaps
    
  • Registrarse para iniciar un "paquete" de la tienda. Se iniciará una nueva instancia de ProcDump cuando se active (manualmente):

    C:\>procdump -e -x c:\dumps Microsoft.BingMaps_1.2.0.136_x64__8wekyb3d8bbwe
    
  • Escribir un volcado de memoria MiniPlus del Almacén de información de Microsoft Exchange cuando tenga una excepción no controlada:

    C:\>procdump -mp -e store.exe
    
  • Mostrar sin escribir un volcado de memoria, los códigos de excepción o los nombres de w3wp.exe:

    C:\>procdump -e 1 -f "" w3wp.exe
    
  • Windows 7/8.0; usar Reflection para reducir la interrupción de servicio durante 5 desencadenantes consecutivos:

    C:\>procdump -r -ma -n 5 -s 15 wmplayer.exe
    
  • Windows 8.1+; usar PSS para reducir el tiempo de inactividad de 5 desencadenadores simultáneos:

    C:\>procdump -r 5 -ma -n 5 -s 15 wmplayer.exe
    
  • Instalar ProcDump como depurador postmortem (AeDebug):

    C:\>procdump -ma -i c:\dumps
    

    ..o..

    C:\Dumps>procdump -ma -i
    
  • Desinstalar ProcDump como depurador postmortem (AeDebug):

    C:\>procdump -u
    

Vea una lista de líneas de comandos de ejemplo (los ejemplos se enumeran anteriormente):

C:\>procdump -? -e
  • Libro de elementos internos de Windows Las actualizaciones oficiales y la página de erratas del libro definitivo sobre los elementos internos de Windows, de Mark Russinovich y David Solomon.
  • Referencia del administrador de Windows Sysinternals La guía oficial de las utilidades de Sysinternals de Mark Russinovich y Aaron Margosis, incluidas descripciones de todas las herramientas, sus características, cómo usarlas para solucionar problemas y ejemplos de casos reales de su uso.

Descargar ProcDump(1,2 MB)

Descarga de ProcDump para Linux (GitHub)
Descargar ProcDump para Mac (GitHub)

Se ejecuta en:

  • Cliente: Windows 11 y versiones posteriores.
  • Servidor: Windows Server 2016 y versiones posteriores.

Más información