Compartilhar via


WinDbg: Configurações, workspaces e sessões de depuração salvas

Logotipo WinDbg com lupa inspecionando bits.

Este artigo descreve como configurar e configurar o WinDbg.

O WinDbg usa dois tipos de arquivos de configuração:

  • Os workspaces armazenam suas configurações do WinDbg, como tema, layout de janela, caminhos de símbolo, caminhos de origem e outras opções de configuração. Os arquivos de workspace usam a .xml extensão e são armazenados por padrão em %LOCALAPPDATA%\DBG\Workspaces. As configurações são salvas automaticamente no arquivo de workspace padrão (%LOCALAPPDATA%\DBG\DbgX.xml) quando você fecha o WinDbg.

  • As sessões de depuração salvas armazenam informações de conexão de destino (como qual arquivo de despejo será aberto ou a qual processo será anexado) juntamente com as opções do mecanismo por sessão. Os arquivos de sessão de depuração usam a .debugtarget extensão e são armazenados por padrão em %LOCALAPPDATA%\DBG\Targets. Esses arquivos aparecem na lista de destinos Recentes na página Iniciar depuração.

Configurações

Use o menu Configurações para definir itens como o caminho de origem e símbolo. Você também pode escolher o tema para WinDbg. Os modos de tema disponíveis são:

  • Sistema – Segue a configuração de tema do sistema Windows (padrão).
  • Luz – Usa o tema claro.
  • Escuro – Usa o tema escuro.

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

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

  • Geral
  • Janela de Comando
  • Configurações de depuração
  • Janelas de desmontagem
  • Eventos &exceções
  • Janela de origem

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

Espaços de Trabalho

Os workspaces salvam suas configurações do WinDbg, como tema, layout de janela, caminhos de símbolo, caminhos de origem e outras opções de configuração, em um arquivo.

Salvando e carregando espaços de trabalho

Você pode gerenciar workspaces por meio do menu Arquivo :

  • Salvar workspace – salva as configurações atuais no arquivo de workspace ativo.
  • Salve o workspace como – salva as configurações atuais em um novo arquivo de workspace.
  • Abrir workspace – Carrega as configurações de um arquivo de workspace salvo anteriormente.

As configurações também são salvas automaticamente quando você fecha o depurador, a menos que o salvamento automático tenha sido desabilitado com a opção -Q de linha de comando.

Opções de linha de comando do workspace

Você pode usar as seguintes opções de linha de comando para controlar o comportamento do workspace:

  • -Q – Desabilita o salvamento automático de configurações. As alterações de configurações só são mantidas quando você seleciona explicitamente Salvar workspace ou Salvar workspace como no menu Arquivo .
  • -WF SettingsFile – Carrega as configurações do arquivo de espaço de trabalho especificado na inicialização.

Sessões de depuração salvas

Sessões de depuração salvas armazenam suas informações de conexão de destino, juntamente com as opções de motor específicas de cada sessão. Os arquivos de sessão de depuração usam a .debugtarget extensão e são armazenados por padrão em %LOCALAPPDATA%\DBG\Targets.

Salvando e carregando sessões de depuração

Você pode gerenciar sessões de depuração por meio do menu Arquivo e da linha de comando:

  • Salvar sessão de depuração – salva as informações atuais de conexão de destino em um arquivo .debugtarget. Essa opção só estará disponível quando um destino de depuração estiver ativo.
  • Destinos recentes – Na página Iniciar depuração , selecione uma sessão de depuração salva anteriormente na lista de destinos recentes para recarregá-la.
  • -loadSession – Carrega um arquivo de configuração de sessão de depuração salvo da linha de comando.

Configurações de sessão de depuração

Além das informações de conexão de destino, as seguintes configurações são armazenadas no arquivo de sessão de depuração salvo (.debugtarget extensão de arquivo).

Configurações gerais

Observação

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

Configurações Padrão Descrição
FinalBreak true Se true, ignora o ponto de interrupção final (a opção de linha de comando -g).
SourceDebugging true Alterna entre o modo de origem ou o modo de montagem.
DebugChildProcesses false (Somente modo de usuário.) Se 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 o heap de depuração não deve ser usado (-hd opção da linha de comando).
Verbose false Quando o modo verboso é ativado, produz uma saída mais detalhada (-v opção da linha de comando) para alguns comandos de exibição (como o dump de registro).
Elevate - Usado internamente pelo WinDbg. Não modifique.
Restartable - Usado internamente pelo WinDbg. Não modifique.
UseImplicitCommandLine false Usa a 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 as opções de linha de comando do WinDbg.

Configurações de símbolo

Configurações Padrão Descrição
SymbolOptionsOverride 0 Essa máscara de opção de símbolo explícita está na forma de um único número hex.
ShouldOverrideSymbolOptions false Se definido como true, substituirá todas as opções de símbolo listadas nesta tabela com a máscara de opção de símbolo fornecida, que é 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 de imagem carregado ao pesquisar símbolos.
SymOptIgnoreNtSympath false Essa opção faz com que o depurador desconsidere as configurações das variáveis de ambiente para os caminhos dos símbolos e da imagem executável.
SymOptNoCpp false Essa opção de símbolo desativa a tradução do C++. Quando essa opção de símbolo é definida, __ substitui :: em todos os símbolos.
SymOptNoUnqualifiedLoads false Essa opção de símbolo desabilita o carregamento automático de módulos do manipulador de símbolos. Quando essa opção é ativada, o depurador tenta associar um símbolo. Ele pesquisa apenas os módulos que já foram carregados.
SymOptAutoPublics false Essa opção de símbolo faz com que dbgHelp pesquise a tabela de símbolos públicos em um arquivo .pdb apenas como último recurso. Se alguma correspondência for encontrada ao pesquisar os dados de 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 Essa opção de símbolo ativa o carregamento de símbolos barulhentos. Essa configuração instrui o depurador a exibir informações sobre sua pesquisa por símbolos.

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

Arquivo XML de sessão de depuração

As informações de conexão alvo da sessão de depuração são armazenadas no formato XML com a extensão de arquivo .debugtarget.

O arquivo a seguir mostra um exemplo de arquivo de configuração de sessão de depuração.

<?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 evoluindo à medida que mais recursos são adicionados ao WinDbg.