Compartir a través de


WinDbg: configuración, áreas de trabajo y sesiones de depuración guardadas

Logotipo de WinDbg con una lupa inspeccionando bits.

En este artículo se describe cómo configurar y configurar WinDbg.

WinDbg usa dos tipos de archivos de configuración:

  • Áreas de trabajo almacenan la configuración de WinDbg, como el tema, el diseño de ventana, las rutas de acceso de símbolos, las rutas de acceso de origen y otras opciones de configuración. Los archivos del área de trabajo usan la .xml extensión y se almacenan de forma predeterminada en %LOCALAPPDATA%\DBG\Workspaces. La configuración se guarda automáticamente en el archivo de área de trabajo predeterminado (%LOCALAPPDATA%\DBG\DbgX.xml) al cerrar WinDbg.

  • Las sesiones de depuración guardadas almacenan la información de conexión al destino (por ejemplo, qué archivo de volcado de memoria se va a abrir o a qué proceso asociar) junto con las opciones del motor específicas de cada sesión. Los archivos de sesión de depuración usan la .debugtarget extensión y se almacenan de forma predeterminada en %LOCALAPPDATA%\DBG\Targets. Estos archivos aparecen en la lista de Objetivos recientes de la página Iniciar depuración.

Configuración

Utilice el menú Configuración para establecer elementos como la ruta de acceso al origen y a los símbolos. También puedes elegir el tema para WinDbg. Los modos de tema disponibles son:

  • Sistema : sigue la configuración del tema del sistema de Windows (valor predeterminado).
  • Luz : usa el tema claro.
  • Oscuro : usa el tema oscuro.

Captura de pantalla del menú Configuración de WinDbg que muestra la pestaña General.

Actualmente hay seis diálogos de configuración :

  • General
  • Ventana de Comandos
  • Configuración de depuración
  • Ventanas de desensamblaje
  • Eventos y excepciones
  • Ventana de origen

Para obtener más información sobre cómo establecer las rutas de acceso, vea Ruta de acceso de símbolos para depurador de Windows y depuración de código fuente en WinDbg (clásico).

Áreas de trabajo

Las áreas de trabajo guardan la configuración de WinDbg, como tema, diseño de ventana, rutas de acceso de símbolos, rutas de acceso de origen y otras opciones de configuración, en un archivo.

Guardar y cargar áreas de trabajo

Puede administrar áreas de trabajo a través del menú Archivo :

  • Guardar área de trabajo : guarda la configuración actual en el archivo del área de trabajo activa.
  • Guardar área de trabajo como : guarda la configuración actual en un nuevo archivo de área de trabajo.
  • Abrir área de trabajo : carga la configuración de un archivo de área de trabajo guardado anteriormente.

La configuración también se guarda automáticamente al cerrar el depurador, a menos que se haya deshabilitado el guardado automático con la opción de -Q línea de comandos.

Opciones de línea de comandos del área de trabajo

Puede usar las siguientes opciones de línea de comandos para controlar el comportamiento del área de trabajo:

  • -Q - Deshabilita el guardado automático de la configuración. Los cambios de configuración solo se conservan cuando se selecciona explícitamente Guardar área de trabajo o Guardar área de trabajo como en el menú Archivo .
  • -WF SettingsFile - Carga la configuración del archivo de área de trabajo especificado al inicio.

Sesiones de depuración guardadas

Las sesiones de depuración guardadas almacenan la información de conexión de destino junto con las opciones del motor por sesión. Los archivos de sesión de depuración usan la .debugtarget extensión y se almacenan de forma predeterminada en %LOCALAPPDATA%\DBG\Targets.

Guardar y cargar las sesiones de depuración

Puede administrar sesiones de depuración a través del menú Archivo y la línea de comandos:

  • Guardar sesión de depuración - guarda la información de conexión de destino actual en un archivo .debugtarget. Esta opción solo está disponible cuando un destino de depuración está activo.
  • Destinos recientes : en la página Iniciar depuración , seleccione una sesión de depuración guardada anteriormente en la lista Destinos recientes para volver a cargarla.
  • -loadSession - Carga un archivo de configuración de una sesión de depuración guardada desde la línea de comandos.

Configuración de la sesión de depuración

Además de la información de conexión de destino, la siguiente configuración se almacena en el archivo de sesión de depuración guardado (.debugtarget extensión de archivo).

Configuración general

Nota:

Esta lista y el formato no son finales y están sujetos a cambios.

Configuración Predeterminado Descripción
FinalBreak true Si true, omite el punto de interrupción final (opción de la línea de comandos -g).
SourceDebugging true Alterna entre el modo de origen o ensamblado.
DebugChildProcesses false (Sólo modo de usuario). Si se utiliza true, depura los procesos secundarios iniciados por la aplicación de destino como opción de línea de comandos -o.
Noninvasive false Especifica el adjuntar no invasivo (-pv opción de línea de comandos).
NoDebugHeap false Especifica que no debe usarse el montón de depuración como opción de línea de comandos (-hd).
Verbose false Cuando el modo detallado está activado, genera una salida más minuciosa utilizando la opción de línea de comandos (-v) para comandos específicos de visualización, como el volcado de registros.
Elevate - Se utiliza internamente por WinDbg. No modifique.
Restartable - Se utiliza internamente por WinDbg. No modifique.
UseImplicitCommandLine false Usa la línea de comandos implícita (-cimp opción de línea de comandos). Esta configuración inicia el depurador con una línea de comandos implícita en lugar de un proceso explícito que se va a ejecutar.

Para obtener más información sobre las opciones de línea de comandos, consulte Opciones de línea de comandos de WinDbg.

Configuración de símbolos

Configuración Predeterminado Descripción
SymbolOptionsOverride 0 Esta máscara de opción de símbolo explícita está en forma de un solo número hexadecimal.
ShouldOverrideSymbolOptions false Si se establece en true, anula todas las opciones de símbolo en esta tabla con la máscara de opciones de símbolo proporcionada, que se describe en la tabla anterior.
SymOptExactSymbols false Esta opción hace que el depurador realice una evaluación estricta de todos los archivos de símbolos.
SymOptFailCriticalErrors false Esta opción de símbolo hace que se supriman los cuadros de diálogo de error de acceso a archivos.
SymOptIgnoreCvRec false Esta opción hace que el controlador de símbolos omita el registro CV en el encabezado de imagen cargado al buscar símbolos.
SymOptIgnoreNtSympath false Esta opción hace que el depurador omita la configuración de la variable de entorno para la ruta del símbolo y la ruta de la imagen ejecutable.
SymOptNoCpp false Esta opción de símbolo desactiva la traducción de C++. Cuando se establece esta opción de símbolo, __ reemplaza :: en todos los símbolos.
SymOptNoUnqualifiedLoads false Esta opción de símbolo deshabilita la carga automática de módulos por parte del controlador de símbolos. Cuando se establece esta opción, el depurador intenta hacer coincidir un símbolo. Busca solo los módulos que ya estaban cargados.
SymOptAutoPublics false Esta opción de símbolo hace que DbgHelp busque la tabla de símbolos públicos en un archivo .pdb solo como último recurso. Si se encuentran coincidencias al buscar los datos de símbolos privados, no se buscarán los símbolos públicos. Esta configuración mejora la velocidad de búsqueda de símbolos.
SymOptDebug false Esta opción activa la carga de símbolos con ruido. Esta configuración indica al depurador que muestre información sobre su búsqueda de símbolos.

Para obtener más información sobre las opciones de símbolos, vea Opciones de símbolos.

Depurar archivo XML de sesión

La información de conexión del objetivo de la sesión de depuración se almacena en formato XML con la extensión de archivo .debugtarget.

En el siguiente archivo se muestra un ejemplo de archivo de configuración para una sesión de depuración.

<?xml version="1.0" encoding="utf-8"?>
<TargetConfig Name="C:\paint.dmp" LastUsed="2017-08-03T21:34:20.1013837Z">
  <EngineConfig />
  <EngineOptions>
    <Property name="FinalBreak" value="true" />
    <Property name="SourceDebugging" value="true" />
    <Property name="DebugChildProcesses" value="false" />
    <Property name="Noninvasive" value="false" />
    <Property name="NoDebugHeap" value="false" />
    <Property name="Verbose" value="false" />
    <Property name="SymbolOptionsOverride" value="0" />
    <Property name="ShouldOverrideSymbolOptions" value="false" />
    <Property name="SymOptExactSymbols" value="false" />
    <Property name="SymOptFailCriticalErrors" value="false" />
    <Property name="SymOptIgnoreCvRec" value="false" />
    <Property name="SymOptIgnoreNtSympath" value="false" />
    <Property name="SymOptNoCpp" value="false" />
    <Property name="SymOptNoUnqualifiedLoads" value="false" />
    <Property name="SymOptAutoPublics" value="false" />
    <Property name="SymOptDebug" value="false" />
    <Property name="Elevate" value="false" />
    <Property name="Restartable" value="true" />
    <Property name="UseImplicitCommandLine" value="false" />
  </EngineOptions>
  <TargetOptions>
    <Option name="OpenDump">
      <Property name="DumpPath" value="C:\paint.dmp" />
    </Option>
  </TargetOptions>
</TargetConfig>

Este formato de archivo continúa evolucionando a medida que se agregan más características a WinDbg.