Partilhar via


WinDbg: Definições, espaços de trabalho e sessões de depuração guardadas

logotipo WinDbg com uma lupa inspecionando bits.

Este artigo descreve como instalar e configurar o WinDbg.

O WinDbg utiliza dois tipos de ficheiros de configuração:

  • Os espaços de trabalho armazenam as suas definições do WinDbg, como tema, layout da janela, caminhos de símbolos, caminhos de origem e outras opções de configuração. Os ficheiros de espaço de trabalho usam a .xml extensão e são armazenados por defeito em %LOCALAPPDATA%\DBG\Workspaces. As definições são automaticamente guardadas no ficheiro de workspace predefinido (%LOCALAPPDATA%\DBG\DbgX.xml) quando fecha o WinDbg.

  • As sessões de depuração guardadas armazenam informação de ligação alvo (como qual ficheiro de despejo abrir ou qual processo anexar) juntamente com opções de motor por sessão. Os ficheiros de sessão de depuração usam a extensão .debugtarget e são armazenados por defeito em %LOCALAPPDATA%\DBG\Targets. Estes ficheiros aparecem na lista de Alvos Recentes na página de Iniciar depuração .

Configurações

Use o menu Configurações para definir itens como o caminho de origem e o símbolo. Também podes escolher o tema do WinDbg. Os modos temáticos disponíveis são:

  • Sistema - Segue a definição de tema do sistema Windows (por defeito).
  • Luz - Usa o tema da luz.
  • Sombrio - Usa o tema sombrio.

Captura de tela do menu Configurações do WinDbg exibindo a guia Geral.

Atualmente, existem seis caixas de diálogo Configurações :

  • General
  • Janela de comando
  • Configurações de depuração
  • Janelas de desmontagem
  • Eventos e exceções
  • Janela de origem

Para obter mais informações sobre como definir os caminhos, consulte Caminho do símbolo para o depurador do Windows e Depuração do código-fonte no WinDbg (Clássico).

Espaços de trabalho

Os espaços de trabalho guardam as suas definições do WinDbg, como tema, layout da janela, caminhos de símbolos, caminhos de origem e outras opções de configuração, num ficheiro.

Salvar e carregar espaços de trabalho

Pode gerir espaços de trabalho através do menu Ficheiro :

  • Guardar espaço de trabalho - Guarda as definições atuais no ficheiro do espaço de trabalho ativo.
  • Guardar workspace como - Guarda as definições atuais num novo ficheiro de workspace.
  • Abrir espaço de trabalho - Carrega definições a partir de um ficheiro de espaço de trabalho previamente guardado.

As definições também são guardadas automaticamente quando fecha o depurador, a menos que a gravação automática tenha sido desativada através da opção de linha de comandos -Q.

Opções de linha de comandos do Workspace

Pode usar as seguintes opções de linha de comandos para controlar o comportamento do espaço de trabalho:

  • -Q - Desativa a gravação automática das definições. As alterações nas definições só são mantidas quando seleciona explicitamente Guardar espaço de trabalho ou Guardar espaço de trabalho, como no menu Ficheiros .
  • -WF SettingsFile - Carrega as definições a partir do ficheiro de espaço de trabalho especificado no arranque.

Sessões de depuração guardadas

As sessões de depuração guardadas armazenam as informações da sua ligação alvo juntamente com as opções do motor por sessão. Os ficheiros de sessão de depuração utilizam a extensão .debugtarget e são armazenados por defeito em %LOCALAPPDATA%\DBG\Targets.

Gravar e carregar sessões de depuração

Pode gerir sessões de depuração através do menu Ficheiro e da linha de comandos:

  • Guardar sessão de depuração - Guarda a informação atual da conexão ao alvo num .debugtarget ficheiro. Esta opção só está disponível quando um alvo de depuração está ativo.
  • Alvos Recentes - Na página Iniciar depuração , selecione uma sessão de depuração previamente guardada na lista de Alvos Recentes para a recarregar.
  • -loadSession - Carrega um ficheiro de configuração de uma sessão de depuração guardada a partir da linha de comando.

Definições da sessão de depuração

Além da informação de ligação de destino, as seguintes definições são armazenadas no ficheiro de sessão de depuração guardado (.debugtarget extensão do ficheiro).

Configurações gerais

Observação

Esta lista e formato não são finais e estão sujeitos a alterações.

Configurações Predefinido Descrição
FinalBreak true Se true, ignora o ponto de interrupção final (-g opção de linha de comando).
SourceDebugging true Alterna entre o modo de origem ou de montagem.
DebugChildProcesses false (Somente no modo de usuário.) If true, depura processos filho iniciados pelo aplicativo de destino (-o opção de linha de comando).
Noninvasive false Especifica a anexação não invasiva (-pv opção de linha de comando).
NoDebugHeap false Especifica que a heap de depuração não deve ser usada (opção de linha de comando -hd).
Verbose false Quando o modo detalhado está ativado, produz uma saída mais detalhada (-v opção de linha de comando) para alguns comandos de exibição (como despejo de registro).
Elevate - Usado internamente pelo WinDbg. Não modificar.
Restartable - Usado internamente pelo WinDbg. Não modificar.
UseImplicitCommandLine false Usa linha de comando implícita (-cimp opção de linha de comando). Essa configuração inicia o depurador com uma linha de comando implícita em vez de um processo explícito a ser executado.

Para obter mais informações sobre as opções de linha de comando, consulte Opções de linha de comando WinDbg.

Configurações de símbolos

Configurações Predefinido Descrição
SymbolOptionsOverride 0 Esta máscara de opção de símbolo explícito está na forma de um único número hexadecimal.
ShouldOverrideSymbolOptions false Se definido como true, substitui todas as opções de símbolo listadas nesta tabela pela máscara de opção de símbolo fornecida, descrita na tabela anterior.
SymOptExactSymbols false Essa opção faz com que o depurador execute uma avaliação rigorosa de todos os arquivos de símbolo.
SymOptFailCriticalErrors false Essa opção de símbolo faz com que as caixas de diálogo de erro de acesso ao arquivo sejam suprimidas.
SymOptIgnoreCvRec false Essa opção faz com que o manipulador de símbolos ignore o registro CV no cabeçalho da imagem carregada ao procurar símbolos.
SymOptIgnoreNtSympath false Essa opção faz com que o depurador ignore as configurações da variável de ambiente para o caminho do símbolo e o caminho da imagem executável.
SymOptNoCpp false Esta opção de símbolo desativa a tradução C++. Quando esta opção de símbolo é definida, __ substitui :: todos os símbolos.
SymOptNoUnqualifiedLoads false Esta opção de símbolo desativa o carregamento automático de módulos do manipulador de símbolos. Quando essa opção é definida, o depurador tenta corresponder a um símbolo. Ele pesquisa apenas módulos que já foram carregados.
SymOptAutoPublics false Essa opção de símbolo faz com que o DbgHelp pesquise a tabela de símbolos públicos em um arquivo .pdb somente como último recurso. Se alguma correspondência for encontrada ao pesquisar os dados do símbolo privado, os símbolos públicos não serão pesquisados. Essa configuração melhora a velocidade de pesquisa de símbolos.
SymOptDebug false Esta opção de símbolo ativa o carregamento ruidoso de símbolos. Essa configuração instrui o depurador a exibir informações sobre sua pesquisa de símbolos.

Para obter mais informações sobre opções de símbolo, consulte Opções de símbolo.

Ficheiro XML de sessão de depuração

A informação de ligação ao destino da sessão de depuração é armazenada em formato XML com a extensão de ficheiro .debugtarget.

O ficheiro seguinte mostra um ficheiro de configuração de sessão de depuração como exemplo.

<?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>

Esse formato de arquivo continua a evoluir à medida que mais recursos são adicionados ao WinDbg.