Compartir a través de


Opciones de línea de comandos de CDB

Los usuarios de la primera vez de CDB o NTSD deben comenzar con la sección Depuración mediante CDB y NTSD .

La línea de comandos de CDB usa la sintaxis siguiente:

cdb  [ -server ServerTransport | -remote ClientTransport ] 
[ -premote SmartClientTransport ] [-log{a|au|o|ou} LogFile]
[-2] [-d] [-ddefer] [-g] [-G] [-hd] [-lines] [-myob] [-bonc] 
[-n] [-o] [-s] [-v] [-w] [-cf "filename"] [-cfr "filename"] [-c "command"] 
[-robp] [-r BreakErrorLevel]  [-t PrintErrorLevel] 
[ -x{e|d|n|i} Exception ] [-x] [-clines lines] 
[-i ImagePath]  [-y SymbolPath] [-srcpath SourcePath] 
[-aExtension] [-failinc] [-noio] [-noinh] [-noshell] [-nosqm]
[-sdce] [-ses] [-sicv] [-sins] [-snc] [-snul] [-zp PageFile] 
[-sup] [-sflags 0xNumber] [-ee {masm|c++}]
[-e Event] [-pb] [-pd] [-pe] [-pr] [-pt Seconds] [-pv] 
[ -- | -p PID | -pn Name | -psn ServiceName | -z DumpFile | executable ] 
[-cimp] [-isd] [-kqm] [-pvr] [-version] [-vf] [-vf:<opts>] [-netsyms:{yes|no}]

cdb -iae 

cdb -iaec KeyString 

cdb -iu KeyString

cdb -QR Server 

cdb -wake pid 

cdb -?

La sintaxis de la línea de comandos NTSD es idéntica a la de CDB:

ntsd  [ -server ServerTransport | -remote ClientTransport ] 
[ -premote SmartClientTransport ] [-log{a|au|o|ou} LogFile]
[-2] [-d] [-ddefer] [-g] [-G] [-hd] [-lines] [-myob] [-bonc] 
[-n] [-o] [-s] [-v] [-w] [-cf "filename"] [-cfr "filename"] [-c "command"] 
[-robp] [-r BreakErrorLevel]  [-t PrintErrorLevel] 
[ -x{e|d|n|i} Exception ] [-x] [-clines lines] 
[-i ImagePath]  [-y SymbolPath] [-srcpath SourcePath] 
[-aExtension] [-failinc] [-noio] [-noinh] [-noshell] [-nosqm]
[-sdce] [-ses] [-sicv] [-sins] [-snc] [-snul] [-zp PageFile] 
[-sup] [-sflags 0xNumber] [-ee {masm|c++}] 
[-e Event] [-pb] [-pd] [-pe] [-pr] [-pt Seconds] [-pv] 
[ -- | -p PID | -pn Name | -psn ServiceName | -z DumpFile | executable ] 
[-cimp] [-isd] [-kqm] [-pvr] [-version] [-vf] [-vf:<opts>] [-netsyms:{yes|no}]

ntsd -iae 

ntsd -iaec KeyString 

ntsd -iu KeyString

ntsd -QR Server 

ntsd -wake PID 

ntsd -?

La única diferencia entre NTSD y CDB es que NTSD genera una nueva ventana de consola mientras cdB hereda la ventana de la que se invocó. Dado que el comando start también se puede usar para generar una nueva ventana de consola, las dos construcciones siguientes proporcionarán los mismos resultados:

start cdb [parameters]
ntsd [parameters]

A continuación se describen las descripciones de las opciones de línea de comandos CDB y NTSD. Solo las opciones -remote, -server, -g y -G distinguen mayúsculas de minúsculas. El guión inicial se puede reemplazar por una barra diagonal (/). Las opciones que no toman parámetros adicionales se pueden concatenar, por lo que cdb -o -d -G -g winmine se puede escribir como cdb -odGg winmine.

Si se usa la opción -remote o -server , debe aparecer antes de cualquier otra opción en la línea de comandos. Si se especifica un archivo ejecutable , debe aparecer en último lugar en la línea de comandos; cualquier texto después de pasar el nombre ejecutable al programa ejecutable como sus propios parámetros de línea de comandos.

Parámetros

-servidor ServerTransport
Crea un servidor de depuración al que pueden acceder otros depuradores. Para obtener una explicación de los posibles valores ServerTransport , vea Activar un servidor de depuración. Cuando se usa este parámetro, debe ser el primer parámetro de la línea de comandos.

-remoto ClientTransport
Crea un cliente de depuración y se conecta a un servidor de depuración que ya se está ejecutando. Para obtener una explicación de los posibles valores de ClientTransport, consulte Activación de un cliente de depuración. Cuando se usa este parámetro, debe ser el primer parámetro de la línea de comandos.

-premote SmartClientTransport
Crea un cliente inteligente y se conecta a un servidor de procesos que ya se está ejecutando. Para obtener una explicación de los posibles valores de SmartClientTransport, consulte Activación de un cliente inteligente.

-número arábigo
Si la aplicación de destino es una aplicación de consola, esta opción hace que resida en una nueva ventana de consola. (El valor predeterminado es que una aplicación de consola de destino comparta la ventana con CDB o NTSD).

--
Depura el subsistema en tiempo de ejecución del servidor cliente (CSRSS). Para obtener más información, consulte Depuración de CSRSS.

-un Extensión
Establece el archivo DLL de extensión predeterminado. El valor predeterminado es userexts. No debe haber espacio después de "a" y no se debe incluir la extensión .dll. Para obtener más información y otros métodos para establecer este valor predeterminado, consulte Carga de archivos DLL de extensión del depurador.

-bonc
Si se especifica esta opción, el depurador se dividirá en el destino tan pronto como se inicie la sesión. Esto es especialmente útil al conectarse a un servidor de depuración que podría no dividirse actualmente en el destino.

-c " command "
Especifica el comando inicial del depurador que se va a ejecutar en el inicio. Este comando debe estar entre comillas. Se pueden separar varios comandos con punto y coma. (Si tiene una lista larga de comandos, puede ser más fácil colocarlos en un script y, a continuación, usar la opción -c con el comando $<, $, $><><, $, $$>< (Ejecutar archivo de script).

Si va a iniciar un cliente de depuración, este comando debe estar diseñado para el servidor de depuración. No se permiten comandos específicos del cliente, como .lsrcpath .

-cf " filename "
Especifica la ruta de acceso y el nombre de un archivo de script. Este archivo de script se ejecuta en cuanto se inicia el depurador. Si el nombre de archivo contiene espacios, debe incluirse entre comillas. Si se omite la ruta de acceso, se asume el directorio actual. Si no se usa la opción -cf , el archivo ntsd.ini en el directorio actual se usa como archivo de script. Si el archivo no existe, no se produce ningún error. Para obtener más información, consulte Uso de archivos de script.

-cfr " filename "
Especifica la ruta de acceso y el nombre de un archivo de script. Este archivo de script se ejecuta en cuanto se inicia el depurador y cada vez que se reinicia el destino. Si el nombre de archivo contiene espacios, debe incluirse entre comillas. Si se omite la ruta de acceso, se asume el directorio actual. Si el archivo no existe, no se produce ningún error. Para obtener más información, consulte Uso de archivos de script.

-cimp
Dirige CDB/NTSD para empezar con una línea de comandos implícita dbgSrv en lugar de un proceso explícito que se va a ejecutar. Esta opción es el lado cliente de dbgsrv -pc.

-clines lineas
Establece el número aproximado de comandos en el historial de comandos al que se puede acceder durante la depuración remota. Para obtener más información y otras formas de cambiar este número, consulte Uso de comandos del depurador.

-d
Pasa el control de este depurador al depurador de kernel. Si está depurando CSRSS, este redireccionamiento de control siempre está activo, incluso si no se especifica -d . (Esta opción no se puede usar durante la depuración remota: use -ddefer en su lugar). Consulte Control del depurador en modo de usuario desde el depurador de kernel para obtener más información. Esta opción no se puede usar junto con la opción -ddefer o la opción -noio .

Nota Si usa WinDbg como depurador de kernel, muchas de las características conocidas de WinDbg no están disponibles en este escenario. Por ejemplo, no puede usar la ventana Variables locales, la ventana Desensamblado o la ventana Pila de llamadas, y no puede recorrer el código fuente. Esto se debe a que WinDbg solo actúa como visor para el depurador (NTSD o CDB) que se ejecuta en el equipo de destino.

-ddefer
Pasa el control de este depurador al depurador de kernel, a menos que un cliente de depuración esté conectado. (Se trata de una variación de -d que se puede usar desde un servidor de depuración). Consulte Control del depurador en modo de usuario desde el depurador de kernel para obtener más información. Esta opción no se puede usar junto con la opción -d o la opción -noio .

-e Evento
Indica al depurador que se ha producido el evento especificado. Esta opción solo se usa al iniciar el depurador mediante programación.

-ee {masm|c++}
Establece el evaluador de expresiones predeterminado. Si se especifica masm , se usará la sintaxis de expresión MASM. Si se especifica c++ , se usará la sintaxis de expresión de C++. Si se omite la opción -ee , se usa la sintaxis de expresión MASM como valor predeterminado. Consulte Evaluación de expresiones para obtener más información.

-failinc
Hace que el depurador omita los símbolos interrogables. Al depurar un archivo minidump en modo de usuario o en modo kernel, esta opción también impedirá que el depurador cargue los módulos cuyas imágenes no se puedan asignar. Para obtener más información y otros métodos para controlar esto, consulte SYMOPT_EXACT_SYMBOLS.

-g
Omite el punto de interrupción inicial en la aplicación de destino. Esta opción hará que la aplicación de destino continúe ejecutándose después de que se inicie o cdb se conecte a ella, a menos que se haya establecido otro punto de interrupción. Consulte Punto de interrupción inicial para obtener más información.

-G
Omite el punto de interrupción final en la finalización del proceso. De forma predeterminada, CDB se detiene durante el proceso de degradación de la imagen. Esta opción hará que cdB salga inmediatamente cuando finalice el elemento secundario. Esto tiene el mismo efecto que escribir el comando sxd epr. Para obtener más información, vea Controlar excepciones y eventos.

-disco duro
Especifica que no se debe usar el montón de depuración. Consulte Depuración de un proceso en modo de usuario mediante CDB para obtener más información.

-Yo ImagePath
Especifica la ubicación de los ejecutables que generaron el error. Si la ruta de acceso contiene espacios, debe incluirse entre comillas.

-iae
Instala CDB como depurador postmortem. Para obtener más información, consulte Habilitación de la depuración postmortem.

Si esta acción se realiza correctamente, no se muestra ningún mensaje; si se produce un error, se muestra un mensaje de error.

El parámetro -iae no se debe usar con ningún otro parámetro. Este comando no iniciará realmente CDB.

-iaec KeyString
Instala CDB como depurador postmortem. El contenido de KeyString se anexará al final de la clave del Registro AeDebug . Si KeyString contiene espacios, debe incluirse entre comillas. Para obtener más información, consulte Habilitación de la depuración postmortem.

Si esta acción se realiza correctamente, no se muestra ningún mensaje; si se produce un error, se muestra un mensaje de error.

El parámetro -iaec no se debe usar con ningún otro parámetro. Este comando no iniciará realmente CDB.

-isd
Activa la marca CREATE_IGNORE_SYSTEM_DEFAULT para las creaciones de procesos.

-Iu KeyString
Registra la comunicación remota del depurador como un tipo de dirección URL para que los usuarios puedan iniciar automáticamente un cliente remoto del depurador con una dirección URL. KeyString tiene el formato remdbgeng://RemotingOption. RemotingOption es una cadena que define el protocolo de transporte tal como se define en el tema Activación de un cliente de depuración. Si esta acción se realiza correctamente, no se muestra ningún mensaje; si se produce un error, se muestra un mensaje de error.

El parámetro -iu no se debe usar con ningún otro parámetro. Este comando no iniciará realmente CDB.

-kqm
Inicia CDB/NTSD en modo silencioso.

-lineas
Habilita la depuración de líneas de origen. Si se omite esta opción, el comando .lines (Alternar compatibilidad con líneas de origen) tendrá que usarse antes de que se permita la depuración de origen. Para ver otros métodos para controlar esto, consulte SYMOPT_LOAD_LINES.

-log{a|au|o|ou} LogFile
Comienza a registrar información en un archivo de registro. Si el archivo especificado ya existe, se sobrescribirá si se usa -logo o la salida se anexará al archivo si se usa -loga. Las opciones -logau y -logou funcionan de forma similar a -loga y -logo respectivamente, salvo que el archivo de registro es un archivo Unicode. Para obtener más información, consulte Mantener un archivo de registro en CDB.

-Myob
Si hay una discrepancia de versión con dbghelp.dll, el depurador seguirá ejecutándose. (Sin el modificador -myob , esto se considera un error irrecuperable).

-n
Carga de símbolos ruidosos: habilita la salida detallada del controlador de símbolos. Para obtener más información y otros métodos de control, consulte SYMOPT_DEBUG.

-netsyms {sí|no}
Permitir o no permitir la carga de símbolos desde una ruta de acceso de red.

-noinh
Impide que los procesos creados por el depurador hereden identificadores del depurador. Para ver otros métodos para controlar esto, consulte Depuración de un proceso en modo de usuario mediante CDB.

-noio
Impide que el servidor de depuración se use para la entrada o salida. La entrada solo se aceptará desde el cliente de depuración (además de cualquier comando inicial o script de comandos especificado por la opción de línea de comandos -c ).

Toda la salida se dirigirá al cliente de depuración. Si se usa NTSD para el servidor, no se creará ninguna ventana de consola. Para obtener más información, consulte Activación de un servidor de depuración. Esta opción no se puede usar junto con la opción -d o la opción -ddefer .

-noshell
Prohíbe todos los comandos .shell . Esta prohibición durará siempre que se ejecute el depurador, incluso si se inicia una nueva sesión de depuración. Para obtener más información y otras formas de deshabilitar los comandos .shell , consulte Uso de comandos de Shell.

-nosqm
Deshabilita la recopilación y carga de datos de telemetría.

-o
Depura todos los procesos iniciados por la aplicación de destino (procesos secundarios). De forma predeterminada, los procesos creados por la depuración se ejecutarán como lo hacen normalmente. Para ver otros métodos para controlar esto, consulte Depuración de un proceso en modo de usuario mediante CDB.

-p PID
Especifica el identificador de proceso decimal que se va a depurar. Se usa para depurar un proceso que ya se está ejecutando. Para obtener más información, consulte Depuración de un proceso en modo de usuario mediante CDB.

-Pb
Impide que el depurador solicite un salto inicial al asociarse a un proceso de destino. Esto puede ser útil si la aplicación ya está suspendida o si desea evitar la creación de un subproceso de interrupción en el destino.

-Pd
Hace que la aplicación de destino no finalice al final de la sesión de depuración. Consulte Finalizar una sesión de depuración en CDB para obtener más información.

-pei
Indica que la aplicación de destino ya se está depurando. Consulte Volver a asociar a la aplicación de destino para obtener más información.

-Pn Nombre
Especifica el nombre del proceso que se va a depurar. (Este nombre debe ser único). Se usa para depurar un proceso que ya se está ejecutando.

-Pr
Hace que el depurador inicie el proceso de destino en ejecución cuando se asocia a él. Esto puede ser útil si la aplicación ya está suspendida y desea reanudar la ejecución.

-Psn ServiceName
Especifica el nombre de un servicio contenido en el proceso que se va a depurar. Se usa para depurar un proceso que ya se está ejecutando.

-Pt Sobras
Especifica el tiempo de espera de interrupción, en segundos. El valor predeterminado es 30. Consulte Controlar el destino para obtener más información.

-Pv
Especifica que el depurador debe asociarse al proceso de destino de forma novasiva. Para obtener más información, consulte Depuración novasiva (modo de usuario).

-pvr
Funciona como -pv , excepto que el proceso de destino no está suspendido.

-QR Servidor
Enumera todos los servidores de depuración que se ejecutan en el servidor de red especificado. La barra diagonal inversa doble (\) anterior al servidor es opcional. Consulte Búsqueda de servidores de depuración para obtener más información.

El parámetro -QR no se puede usar con ningún otro parámetro. Este comando no iniciará realmente CDB.

-r BreakErrorLevel
Especifica el nivel de error que hará que el destino se interrumpa en el depurador. Se trata de un número decimal igual a 0, 1, 2 o 3. Los valores posibles son los siguientes:

Valor Constante Significado

0

NONE

No se interrumpa en ningún error.

1

ERROR

Interrumpa los eventos de depuración de nivel DE ERROR.

2

MINORERROR

Interrumpa los eventos de depuración MINORERROR y ERROR.

3

ADVERTENCIA

Interrumpa los eventos de depuración DE NIVEL WARNING, MINORERROR y ERROR.

Este nivel de error solo tiene significado en compilaciones comprobadas de Microsoft Windows. El valor predeterminado es 1. Las compilaciones comprobadas estaban disponibles en versiones anteriores de Windows, anteriores a Windows 10, versión 1803.

-robp
Esto permite a CDB establecer un punto de interrupción en una página de memoria de solo lectura. (El valor predeterminado es para que se produzca un error en dicha operación).

-s
Deshabilita la carga de símbolos diferidos. Esto ralentizará el inicio del proceso. Para obtener más información y otros métodos de control, consulte SYMOPT_DEFERRED_LOADS.

-sdce
Hace que el depurador muestre cuadros de diálogo de error de acceso a archivos durante la carga de símbolos. Para obtener más información y otros métodos de control, consulte SYMOPT_FAIL_CRITICAL_ERRORS.

-Ses
Hace que el depurador realice una evaluación estricta de todos los archivos de símbolos y omita los símbolos interrogables. Para obtener más información y otros métodos para controlar esto, consulte SYMOPT_EXACT_SYMBOLS.

-sflags 0x Número
Establece todas las opciones del controlador de símbolos a la vez. Number debe ser un número hexadecimal con el prefijo 0x : se permite un decimal sin el 0x , pero las opciones de símbolo son marcas binarias y, por tanto, se recomienda hexadecimal. Esta opción se debe usar con cuidado, ya que invalidará todos los valores predeterminados del controlador de símbolos. Para obtener más información, consulte Configuración de opciones de símbolos.

-sicv
Hace que el controlador de símbolos ignore el registro CV. Para obtener más información y otros métodos de control, consulte SYMOPT_IGNORE_CVREC.

-Pecados
Hace que el depurador omita la ruta de acceso de símbolo y las variables de entorno de ruta de acceso de la imagen ejecutable. Para obtener más información, consulte SYMOPT_IGNORE_NT_SYMPATH.

-snc
Hace que el depurador desactive la traducción de C++. Para obtener más información y otros métodos de control, consulte SYMOPT_NO_CPP.

-snul
Deshabilita la carga automática de símbolos para nombres no calificados. Para obtener más información y otros métodos de control, consulte SYMOPT_NO_UNQUALIFIED_LOADS.

-srcpath SourcePath
Especifica la ruta de búsqueda del archivo de origen. Separe varias rutas de acceso con punto y coma (;). Si la ruta de acceso contiene espacios, debe incluirse entre comillas. Para obtener más información y otras formas de cambiar esta ruta de acceso, consulte Ruta de acceso de origen.

-súper
Hace que el controlador de símbolos busque en la tabla de símbolos públicos durante cada búsqueda de símbolos. Para obtener más información y otros métodos de control, consulte SYMOPT_AUTO_PUBLICS.

-t PrintErrorLevel
Especifica el nivel de error que hará que el depurador muestre un mensaje de error. Se trata de un número decimal igual a 0, 1, 2 o 3. Los valores posibles son los siguientes:

Valor Constante Significado

0

NONE

No muestre ningún error.

1

ERROR

Mostrar eventos de depuración de nivel DE ERROR.

2

MINORERROR

Muestra los eventos de depuración de nivel MINORERROR y ERROR.

3

ADVERTENCIA

Mostrar eventos de depuración de nivel WARNING, MINORERROR y ERROR.

Este nivel de error solo tiene significado en compilaciones comprobadas de Microsoft Windows. Las compilaciones comprobadas estaban disponibles en versiones anteriores de Windows antes de Windows 10, versión 1803. El valor predeterminado es 1.

-v
Habilita la salida detallada del depurador.

-Versión
Imprime la cadena de versión del depurador.

-Vf
Habilita la configuración predeterminada de ApplicationVerifier.

-Vf: <Opta>
Habilita la configuración de ApplicationVerifier dada.

-w
Especifica para depurar aplicaciones de 16 bits en un VDM independiente.

-despertar PID
Hace que el modo de suspensión finalice para el depurador en modo de usuario cuyo identificador de proceso se especifica mediante PID. Este comando debe emitirse en la máquina de destino durante el modo de suspensión. Consulte Control del depurador en modo de usuario desde el depurador de kernel para obtener más información.

El parámetro -wake no debe usarse con ningún otro parámetro. Este comando no iniciará realmente CDB.

-x{e|d|n|i} Excepción
Controla el comportamiento del depurador cuando se produce el evento especificado. La excepción puede ser un número de excepción o un código de evento. Puede especificar esta opción varias veces para controlar diferentes eventos. Consulte Control de excepciones y eventos para obtener más información y para otros métodos de control de esta configuración.

-x
Deshabilita la interrupción de primera oportunidad en las excepciones de infracción de acceso. La segunda aparición de una infracción de acceso se interrumpirá en el depurador. Esto es lo mismo que -xd av.

-y SymbolPath
Especifica la ruta de acceso de búsqueda de símbolos. Separe varias rutas de acceso con punto y coma (;). Si la ruta de acceso contiene espacios, debe incluirse entre comillas. Para obtener más información y otras formas de cambiar esta ruta de acceso, consulte Ruta de acceso de símbolos.

-z DumpFile
Especifica el nombre de un archivo de volcado de memoria que se va a depurar. Si la ruta de acceso y el nombre de archivo contienen espacios, debe estar entre comillas. Es posible abrir varios archivos de volcado a la vez mediante la inclusión de varias opciones -z, cada una seguida de un valor DumpFile diferente. Para obtener más información, consulte Análisis de un archivo de volcado en modo de usuario.

-zp PageFile
Especifica el nombre de un archivo de página modificado. Esto resulta útil si está depurando un archivo de volcado de memoria y desea usar el comando .pagein (Page In Memory). No se puede usar -zp con un archivo de página estándar de Windows; solo se pueden usar archivos de página modificados especialmente.

ejecutable
Especifica la línea de comandos de un proceso ejecutable. Se usa para iniciar un nuevo proceso y depurarlo. Debe ser el elemento final de la línea de comandos. Todo el texto después de pasar el nombre del archivo ejecutable al ejecutable como cadena de argumento.

-?
Muestra el texto de ayuda de la línea de comandos.

Al iniciar el depurador desde Inicio | Ejecute o desde una ventana del símbolo del sistema, especifique argumentos para la aplicación de destino después del nombre de archivo de la aplicación. Por ejemplo:

cdb myexe arg1arg2