Compartilhar via


Opções de linha de comando do WinDbg

Os usuários iniciantes do WinDbg devem começar com a seção Depuração usando o WinDbg (Clássico).

A linha de comando do WinDbg usa a seguinte sintaxe:

windbg [ -server ServerTransport | -remote ClientTransport ] [-lsrcpath ]
   [ -premote SmartClientTransport ] [-?] [-ee {masm|c++}] 
   [-clines lines] [-b] [-d] [-aExtension]  
   [-failinc] [-g] [-G] [-hd] [-j] [-n] [-noshell] [-o] [-openPrivateDumpByHandle Handle]
   [-Q | -QY] [-QS | -QSY] [-robp] [-secure] [-ses] [-sdce] 
   [-sicv] [-sins] [-snc] [-snul] [-sup] [-sflags 0xNumber] 
   [-T Title] [-v] [-log{o|a} LogFile] [-noinh] 
   [-i ImagePath] [-y SymbolPath] [-srcpath SourcePath] 
   [-k [ConnectType] | -kl | -kx ExdiOptions] [-c "command"] 
   [-pb] [-pd] [-pe] [-pr] [-pt Seconds] [-pv]
   [-W Workspace] [-WF Filename] [-WX] [-zp PageFile] 
   [ -p PID | -pn Name | -psn ServiceName | -z DumpFile | executable ] 

windbg -I[S] 

windbg -IU KeyString

windbg -IA[S] 

Seguem-se descrições das opções de linha de comando do WinDbg. Todas as opções de linha de comando diferenciam maiúsculas de minúsculas, exceto - j. O hífen inicial pode ser substituído por uma barra (/).

Se a opção -remote ou -server for usada, ela deverá aparecer antes de qualquer outra opção na linha de comando. Se um executável for especificado, ele deverá aparecer por último na linha de comando; qualquer texto após o nome do executável é passado para o programa executável como seus próprios parâmetros de linha de comando.

Parâmetros

-servidor Transporte de servidor
Cria um servidor de depuração que pode ser acessado por outros depuradores. Para obter uma explicação dos possíveis valores de ServerTransport , consulte Ativando um servidor de depuração. Quando esse parâmetro é usado, ele deve ser o primeiro parâmetro na linha de comando.

-remoto Transporte de cliente
Cria um cliente de depuração e se conecta a um servidor de depuração que já está em execução. Para obter uma explicação dos possíveis valores de ClientTransport , consulte Ativando um cliente de depuração. Quando esse parâmetro é usado, ele deve ser o primeiro parâmetro na linha de comando.

-premoto SmartClientTransport
Cria um cliente inteligente e se conecta a um servidor de processo que já está em execução. Para obter uma explicação dos possíveis valores de SmartClientTransport , consulte Ativando um Smart Client.

-um Extensão
Define a DLL de extensão padrão. O padrão é kdextx86.dll ou kdexts.dll. Não deve haver espaço após o "a" e a extensão de nome de arquivo .dll não deve ser incluída. Para obter detalhes e outros métodos de definir esse padrão, consulte Carregando DLLs de extensão do depurador.

-b
Essa opção não é mais suportada.

-c " comando "
Especifica o comando inicial do depurador a ser executado na inicialização. Esse comando deve ser colocado entre aspas. Vários comandos podem ser separados por ponto-e-vírgula. (Se você tiver uma lista de comandos longa, pode ser mais fácil colocá-los em um script e, em seguida, usar a opção -c com o comando $<, $><, $><, $$>< (Executar arquivo de script).)

Se você estiver iniciando um cliente de depuração, esse comando deverá ser destinado ao servidor de depuração. Comandos específicos do cliente, como .lsrcpath, não são permitidos.

-Clines Linhas
Define o número aproximado de comandos no histórico de comandos que podem ser acessados durante a depuração remota. Para obter detalhes e outras maneiras de alterar esse número, consulte Usando comandos do depurador.

-d
(Somente modo kernel) Após uma reinicialização, o depurador entrará no computador de destino assim que um módulo de kernel for carregado. (Essa quebra é anterior à quebra da opção -b .) Consulte Travando e reinicializando o computador de destino para obter detalhes e outros métodos de alteração desse status.

-ee {masm|c++}
Define o avaliador de expressão padrão. Se masm for especificado, a sintaxe da expressão MASM será usada. Se c++ for especificado, a sintaxe da expressão C++ será usada. Se a opção -ee for omitida, a sintaxe da expressão MASM será usada como padrão. Consulte Avaliando expressões para obter detalhes.

-falha
Faz com que o depurador ignore quaisquer símbolos questionáveis. Ao depurar um arquivo de minidespejo no modo de usuário ou no modo kernel, essa opção também impedirá que o depurador carregue quaisquer módulos cujas imagens não possam ser mapeadas. Para obter detalhes e outros métodos de controle disso, consulte SYMOPT_EXACT_SYMBOLS.

-g
(Somente modo de usuário) Ignora o ponto de interrupção inicial no aplicativo de destino. Essa opção fará com que o aplicativo de destino continue em execução depois que ele for iniciado ou o WinDbg for anexado a ele, a menos que outro ponto de interrupção tenha sido definido. Consulte Ponto de interrupção inicial para obter detalhes.

-G
(Somente modo de usuário) Ignora o ponto de interrupção final no encerramento do processo. Normalmente, a sessão de depuração termina durante o processo de execução da imagem. Essa opção fará com que a sessão de depuração termine imediatamente quando o filho for encerrado. Isso tem o mesmo efeito que inserir o comando sxd epr. Para obter mais informações, consulte Controlando exceções e eventos.

-disco rígido
(Somente modo de usuário) Especifica que o heap de depuração não deve ser usado.

-I[S]
Instala o WinDbg como o depurador post-mortem. Para obter detalhes, consulte Habilitando a depuração post-mortem.

Depois que essa ação é tentada, uma mensagem de sucesso ou falha é exibida. Se S for incluído, esse procedimento será feito silenciosamente se for bem-sucedido; somente mensagens de falha serão exibidas.

O parâmetro -I não deve ser usado com nenhum outro parâmetro. Esse comando não iniciará o WinDbg, embora uma janela do WinDbg possa aparecer por um momento.

-IA[S]
Associa o WinDbg às extensões de arquivo .dmp, .mdmp e .wew no Registro. Depois que essa ação é tentada, uma mensagem de sucesso ou falha é exibida. Se S for incluído, esse procedimento será feito silenciosamente se for bem-sucedido; somente mensagens de falha serão exibidas. Depois que essa associação for feita, selecionar e segurar (ou clicar com o botão direito do mouse) em um arquivo com uma dessas extensões iniciará o WinDbg.

O parâmetro -IA não deve ser usado com nenhum outro parâmetro. Esse comando não iniciará o WinDbg, embora uma janela do WinDbg possa aparecer por um momento.

-UI Sequência de chaves
Registra a comunicação remota do depurador como um tipo de URL para que os usuários possam iniciar automaticamente um cliente remoto do depurador com uma URL. KeyString tem o formato remdbgeng://RemotingOption. RemotingOption é uma cadeia de caracteres que define o protocolo de transporte, conforme definido no tópico Ativando um cliente de depuração. Se essa ação for bem-sucedida, nenhuma mensagem será exibida; Se falhar, uma mensagem de erro será exibida.

O parâmetro -IU não deve ser usado com nenhum outro parâmetro. Embora uma janela do WinDbg possa aparecer por um momento, esse comando não iniciará o WinDbg.

-eu Caminho da imagem
Especifica o local dos executáveis que geraram a falha. Se o caminho contiver espaços, ele deverá ser colocado entre aspas.

-j
Permitir registro no diário.

-k [Tipo de conexão]
(Somente modo kernel) Inicia uma sessão de depuração de kernel. Para obter detalhes, consulte Depuração do modo kernel ao vivo usando o WinDbg (clássico). Se -k for usado sem nenhuma opção ConnectType seguindo-o, deverá ser a entrada final na linha de comando.

-Kl
(Somente modo kernel) Inicia uma sessão de depuração de kernel no mesmo computador que o depurador.

-kx Opções Exdié
(Somente modo kernel) Inicia uma sessão de depuração de kernel usando um driver EXDI. Para obter mais informações sobre EXDI, consulte Configurando o transporte do depurador EXDI.

-log{o|a} Arquivo de log
Começa a registrar informações em um arquivo de log. Se o arquivo de log especificado já existir, ele será substituído se -logo for usado. Se loga for usado, a saída será anexada ao arquivo. Para obter mais detalhes, consulte Mantendo um arquivo de log no WinDbg.

-lsrcpath
Define o caminho de origem local para um cliente remoto. Essa opção deve seguir -remote na linha de comando.

-n
Carregamento de símbolo ruidoso: Habilita a saída detalhada do manipulador de símbolos. Para obter detalhes e outros métodos de controle disso, consulte SYMOPT_DEBUG.

-noinh
(Somente modo de usuário) Impede que os processos criados pelo depurador herdem identificadores do depurador. Para outros métodos de controle disso, consulte Depurando um processo de modo de usuário usando o WinDbg.

-noprio
Impede qualquer alteração de prioridade. Esse parâmetro impedirá que o WinDbg tenha prioridade para o tempo de CPU enquanto estiver ativo.

-noshell
Proíbe todos os comandos .shell . Essa proibição durará enquanto o depurador estiver em execução, mesmo que uma nova sessão de depuração seja iniciada. Para obter detalhes e outras maneiras de desabilitar comandos shell, consulte Usando comandos shell.

-o
(Somente modo de usuário) Depura todos os processos iniciados pelo aplicativo de destino (processos filho). Por padrão, os processos criados por aquele que você está depurando serão executados normalmente.

-openPrivateDumpByHandle Manejar
Especifica o identificador de um arquivo de despejo de memória a ser depurado.

-p PID
Especifica a ID do processo decimal a ser depurada. Isso é usado para depurar um processo que já está em execução.

-Pb
(Somente modo de usuário) Impede que o depurador solicite uma interrupção inicial ao anexar a um processo de destino. Isso pode ser útil se o aplicativo já estiver suspenso ou se você quiser evitar a criação de um thread de interrupção no destino.

-Pd
(Somente modo de usuário) Faz com que o aplicativo de destino não seja encerrado no final da sessão de depuração. Consulte Encerrando uma sessão de depuração no WinDbg (clássico) para obter detalhes.

-Pe
(Somente modo de usuário) Indica que o aplicativo de destino já está sendo depurado. Consulte Reanexando ao aplicativo de destino para obter detalhes.

-Pn Nome
Especifica o nome do processo a ser depurado. (Esse nome deve ser exclusivo.) Isso é usado para depurar um processo que já está em execução.

-Pr
(Somente modo de usuário) Faz com que o depurador inicie o processo de destino em execução quando ele é anexado a ele. Isso pode ser útil se o aplicativo já estiver suspenso e você desejar que ele retome a execução.

-Psn Nome do serviço
Especifica o nome de um serviço contido no processo a ser depurado. Isso é usado para depurar um processo que já está em execução.

-pt Segundos
Especifica o tempo limite de interrupção, em segundos. O padrão é 30. Consulte Controlando o Destino para obter detalhes.

-Pv
(Somente modo de usuário) Especifica que o depurador deve ser anexado ao processo de destino de forma não invasiva. Para obter detalhes, consulte Depuração não invasiva (modo de usuário).

-Q
Suprime a caixa de diálogo "Salvar área de trabalho?". Os espaços de trabalho não são salvos automaticamente. Consulte Usando espaços de trabalho – WinDbg (clássico) para obter detalhes.

-QS
Suprime a caixa de diálogo "Recarregar origem?". Os arquivos de origem não são recarregados automaticamente.

-QSY
Suprime a caixa de diálogo "Recarregar código-fonte?" e recarrega automaticamente os arquivos de código-fonte.

-QY
Suprime a caixa de diálogo "Salvar espaço de trabalho?" e salva automaticamente os espaços de trabalho. Consulte Usando espaços de trabalho – WinDbg (clássico) para obter detalhes.

-roubar
Isso permite que o CDB defina um ponto de interrupção em uma página de memória somente leitura. (O padrão é que essa operação falhe.)

-sdce
Faz com que o depurador exiba mensagens de erro de acesso a arquivos durante o carregamento do símbolo. Para obter detalhes e outros métodos de controle disso, consulte SYMOPT_FAIL_CRITICAL_ERRORS.

-seguro
Ativa o Modo Seguro.

-Ses
Faz com que o depurador execute uma avaliação estrita de todos os arquivos de símbolo e ignore quaisquer símbolos questionáveis. Para obter detalhes e outros métodos de controle disso, consulte SYMOPT_EXACT_SYMBOLS.

-bandeiras 0x Número
Define todas as opções do manipulador de símbolos de uma só vez. O número deve ser um número hexadecimal prefixado com 0x - um decimal sem o 0x é permitido, mas as opções de símbolo são sinalizadores binários e, portanto, hexadecimal é recomendado. Essa opção deve ser usada com cuidado, pois substituirá todos os padrões do manipulador de símbolos. Para obter detalhes, consulte Configurando opções de símbolo.

-sicv
Faz com que o manipulador de símbolos ignore o registro de CV. Para obter detalhes e outros métodos de controle disso, consulte SYMOPT_IGNORE_CVREC.

-Pecados
Faz com que o depurador ignore o caminho do símbolo e as variáveis de ambiente do caminho da imagem executável. Para obter detalhes, consulte SYMOPT_IGNORE_NT_SYMPATH.

-snc
Faz com que o depurador desative a tradução C++. Para obter detalhes e outros métodos de controle disso, consulte SYMOPT_NO_CPP.

-nul
Desabilita o carregamento automático de símbolos para nomes não qualificados. Para obter detalhes e outros métodos de controle disso, consulte SYMOPT_NO_UNQUALIFIED_LOADS.

-srcpath Caminho de origem
Especifica o caminho de pesquisa do arquivo de origem. Separe vários caminhos com um ponto-e-vírgula (;). Se o caminho contiver espaços, ele deverá ser colocado entre aspas. Para obter detalhes e outras maneiras de alterar esse caminho, consulte Caminho de origem.

-Sup
Faz com que o manipulador de símbolos pesquise a tabela de símbolos públicos durante cada pesquisa de símbolos. Para obter detalhes e outros métodos de controle disso, consulte SYMOPT_AUTO_PUBLICS.

-T Título
Define o título da janela WinDbg.

-v
Habilita a saída detalhada do depurador.

-W Área de trabalho
Carrega o espaço de trabalho nomeado fornecido. Se o nome da área de trabalho contiver espaços, coloque-o entre aspas. Se não existir nenhum espaço de trabalho com esse nome, você terá a opção de criar um novo espaço de trabalho com esse nome ou abandonar a tentativa de carregamento. Para obter detalhes, consulte Usando workspaces – WinDbg (Clássico).

-WF Filename
Carrega a área de trabalho do arquivo fornecido. O nome do arquivo deve incluir o arquivo e a extensão (geralmente .wew). Se o nome da área de trabalho contiver espaços, coloque-o entre aspas. Se não existir nenhum arquivo de espaço de trabalho com esse nome, você terá a opção de criar um novo arquivo de espaço de trabalho com esse nome ou abandonar a tentativa de carregamento. Para obter detalhes, consulte Usando workspaces – WinDbg (Clássico).

-WX
Desativa o carregamento automático do espaço de trabalho. Para obter detalhes, consulte Usando workspaces – WinDbg (Clássico).

-y Caminho do símbolo
Especifica o caminho de pesquisa do símbolo. Separe vários caminhos com um ponto-e-vírgula (;). Se o caminho contiver espaços, ele deverá ser colocado entre aspas. Para obter detalhes e outras maneiras de alterar esse caminho, consulte Caminho do símbolo.

-z Dumpfile
Especifica o nome de um arquivo de despejo de memória a ser depurado. Se o caminho e o nome do arquivo contiverem espaços, isso deverá ser colocado entre aspas. É possível abrir vários arquivos de despejo de uma só vez, incluindo várias opções -z, cada uma seguida por um valor DumpFile diferente. Para obter detalhes, consulte Analisando um arquivo de despejo do modo de usuário ou Analisando um arquivo de despejo do modo kernel com o WinDbg.

-zp Arquivo de paginação
Especifica o nome de um arquivo de paginação modificado. Isso é útil se você estiver depurando um arquivo de despejo e quiser usar o comando .pagein (Página na memória ). Você não pode usar -zp com um arquivo de paginação padrão do Windows - apenas arquivos de paginação especialmente modificados podem ser usados.

executável
Especifica a linha de comando de um processo executável. Isso é usado para iniciar um novo processo e depurá-lo. Este deve ser o item final na linha de comando. Todo o texto após o nome do executável é passado para o executável como sua cadeia de caracteres de argumento. Para obter detalhes, consulte Depurando um processo de modo de usuário usando o WinDbg.

-?
Aparece esta janela de Ajuda HTML.

Quando você estiver executando o depurador na linha de comando, especifique argumentos para o aplicativo de destino após o nome do arquivo do aplicativo. Por exemplo:

windbg myexe arg1 arg2