Opções de símbolo

Várias opções estão disponíveis para controlar como os símbolos são carregados e usados. Essas opções podem ser definidas de várias maneiras.

A tabela a seguir lista estas opções de símbolo:

Sinalizador Nome da opção Padrão no depurador Padrão em DBH

0x1

SYMOPT_CASE_INSENSITIVE

Ativado

Ativado

0x2

SYMOPT_UNDNAME

Ativado

Ativado

0x4

SYMOPT_DEFERRED_LOADS

Ativado

Desativado

0x8

SYMOPT_NO_CPP

Desativado

Desativado

0x10

SYMOPT_LOAD_LINES

Desativado em KD e CDB

Ativado no WinDbg

Ativado

0x20

SYMOPT_OMAP_FIND_NEAREST

Ativado

Desativado

0x40

SYMOPT_LOAD_ANYTHING

Desativado

Desativado

0x80

SYMOPT_IGNORE_CVREC

Desativado

Desativado

0x100

SYMOPT_NO_UNQUALIFIED_LOADS

Desativado

Desativado

0x200

SYMOPT_FAIL_CRITICAL_ERRORS

Ativado

Desativado

0x400

SYMOPT_EXACT_SYMBOLS

Desativado

Por

0x800

SYMOPT_ALLOW_ABSOLUTE_SYMBOLS

Desativado

Por

0x1000

SYMOPT_IGNORE_NT_SYMPATH

Desativado

Desativado

0x2000

SYMOPT_INCLUDE_32BIT_MODULES

Desativado

Desativado

0x4000

SYMOPT_PUBLICS_ONLY

Desativado

Desativado

0x8000

SYMOPT_NO_PUBLICS

Desativado

Desativado

0x10000

SYMOPT_AUTO_PUBLICS

Ativado

Ativado

0x20000

SYMOPT_NO_IMAGE_SEARCH

Ativado

Desativado

0x40000

SYMOPT_SECURE

Desativado

Desativado

0x80000

SYMOPT_NO_PROMPTS

Ativado em KD e CDB

Desativado no WinDbg

Desativado

0x80000000

SYMOPT_DEBUG

Desativado

Desativado

Alterando as configurações de opção de símbolo

O comando .symopt (Definir Opções de Símbolo) pode ser usado para alterar ou exibir as configurações de opção de símbolo. Além disso, vários parâmetros e comandos de linha de comando estão disponíveis para alterar essas configurações; elas são listadas nas seções individuais SYMOPT_XXX .

Você também pode controlar todas as configurações de uma só vez com a opção de linha de comando-sflags. Essa opção pode ser seguida com um número decimal ou com um número hexadecimal prefixado por 0x. É recomendável que você use hexadecimal, pois os sinalizadores de símbolo são alinhados corretamente dessa maneira. Tenha cuidado ao usar esse método, pois ele define todo o campo de bits e substituirá todos os padrões do manipulador de símbolos. Por exemplo, -sflags 0x401 não só ativará SYMOPT_EXACT_SYMBOLS e SYMOPT_CASE_INSENSITIVE, mas também desativará todas as outras opções que normalmente estão ativadas por padrão!

O valor padrão para o total de bits de sinalizador é 0x30237 no WinDbg, 0xB0227 em CDB e KD e 0x10C13 na ferramenta DBH, quando esses programas são iniciados sem nenhuma opção de linha de comando relacionada a símbolos.

SYMOPT_CASE_INSENSITIVE

Essa opção de símbolo faz com que todas as pesquisas de nomes de símbolo não diferenciam maiúsculas de minúsculas.

Essa opção está ativada por padrão em todos os depuradores. Depois que o depurador estiver em execução, ele poderá ser ativado ou desativado usando .symopt+0x1 ou .symopt-0x1, respectivamente.

Essa opção está ativada por padrão em DBH. Depois que a DBH estiver em execução, ela poderá ser ativada ou desativada usando symopt +1 ou symopt -1, respectivamente.

SYMOPT_UNDNAME

Essa opção de símbolo faz com que os nomes de símbolos públicos não sejam decorados quando são exibidos e faz com que as pesquisas de nomes de símbolo ignorem as decorações de símbolo. Nomes de símbolos privados nunca são decorados, independentemente de essa opção estar ativa. Para obter informações sobre decorações de nome de símbolo, consulte Símbolos públicos e privados.

Essa opção está ativada por padrão em todos os depuradores. Depois que o depurador estiver em execução, ele poderá ser ativado ou desativado usando .symopt+0x2 ou .symopt-0x2, respectivamente.

Essa opção está ativada por padrão em DBH. Ele será desativado se a opção de linha de comando -d for usada. Depois que a DBH estiver em execução, ela poderá ser ativada ou desativada usando symopt +2 ou symopt -2, respectivamente.

SYMOPT_DEFERRED_LOADS

Essa opção de símbolo é chamada de carregamento de símbolo adiado ou carregamento de símbolo lento. Quando ele está ativo, os símbolos não são realmente carregados quando os módulos de destino são carregados. Em vez disso, os símbolos são carregados pelo depurador conforme necessário. Consulte Carregamento de símbolo adiado para obter detalhes.

Essa opção está ativada por padrão em todos os depuradores. No CDB e no KD, a opção de linha de comando -s desativará essa opção. Ele também pode ser desativado no CDB usando a variável LazyLoad no arquivo tools.ini . Depois que o depurador estiver em execução, essa opção poderá ser ativada ou desativada usando .symopt+0x4 ou .symopt-0x4, respectivamente.

Essa opção está desativada por padrão em DBH. Depois que a DBH estiver em execução, ela poderá ser ativada ou desativada usando symopt +4 ou symopt -4, respectivamente.

SYMOPT_NO_CPP

Essa opção de símbolo desativa a tradução do C++. Quando essa opção de símbolo é definida, :: é substituído por __ em todos os símbolos.

Essa opção está desativada por padrão em todos os depuradores. Ele pode ser ativado usando a opção de linha de comando -snc. Depois que o depurador estiver em execução, ele poderá ser ativado ou desativado usando .symopt+0x8 ou .symopt-0x8, respectivamente.

Essa opção está desativada por padrão em DBH. Depois que a DBH estiver em execução, ela poderá ser ativada ou desativada usando symopt +8 ou symopt -8, respectivamente.

SYMOPT_LOAD_LINES

Essa opção de símbolo permite que as informações de número de linha sejam lidas de arquivos de origem. Essa opção deve estar ativada para que a depuração de origem funcione corretamente.

Em KD e CDB, essa opção está desativada por padrão; no WinDbg, essa opção está ativada por padrão. No CDB e no KD, a opção de linha de comando -lines ativará essa opção. Depois que o depurador estiver em execução, ele poderá ser ativado ou desativado usando .symopt+0x10 ou .symopt-0x10, respectivamente. Ele também pode ser ativado e desativado usando o comando .lines (Suporte de Linha de Origem de Alternância).

Essa opção está ativada por padrão em DBH. Depois que a DBH estiver em execução, ela poderá ser ativada ou desativada usando symopt +10 ou symopt -10, respectivamente.

SYMOPT_OMAP_FIND_NEAREST

Quando o código foi otimizado e não há nenhum símbolo no local esperado, essa opção faz com que o símbolo mais próximo seja usado.

Essa opção está ativada por padrão em todos os depuradores. Depois que o depurador estiver em execução, ele poderá ser ativado ou desativado usando .symopt+0x20 ou .symopt-0x20, respectivamente.

Essa opção está ativada por padrão em DBH. Depois que a DBH estiver em execução, ela poderá ser ativada ou desativada usando symopt +20 ou symopt -20, respectivamente.

SYMOPT_LOAD_ANYTHING

Essa opção de símbolo reduz a seleção do manipulador de símbolos quando ele está tentando corresponder aos símbolos.

Essa opção está desativada por padrão em todos os depuradores. Depois que o depurador estiver em execução, ele poderá ser ativado ou desativado usando .symopt+0x40 ou .symopt-0x40, respectivamente.

Essa opção está desativada por padrão em DBH. Depois que a DBH estiver em execução, ela poderá ser ativada ou desativada usando symopt +40 ou symopt -40, respectivamente.

SYMOPT_IGNORE_CVREC

Essa opção de símbolo faz com que o manipulador de símbolos ignore o registro CV no cabeçalho de imagem carregado ao pesquisar símbolos.

Essa opção está desativada por padrão em todos os depuradores. Ele pode ser ativado usando a opção de linha de comando -sicv. Depois que o depurador estiver em execução, ele poderá ser ativado ou desativado usando .symopt+0x80 ou .symopt-0x80, respectivamente.

Essa opção está desativada por padrão em DBH. Depois que a DBH estiver em execução, ela poderá ser ativada ou desativada usando symopt +80 ou symopt -80, respectivamente.

SYMOPT_NO_UNQUALIFIED_LOADS

Essa opção de símbolo desabilita o carregamento automático de módulos do manipulador de símbolos. Quando essa opção é definida e o depurador tenta corresponder a um símbolo, ele pesquisará apenas os módulos que já foram carregados.

Essa opção pode ser usada como uma defesa contra o mistyping de um nome de símbolo. Normalmente, um símbolo digitado incorretamente fará com que o depurador pause enquanto pesquisa todos os arquivos de símbolo descarregados. Quando essa opção estiver ativa, um símbolo digitado incorretamente não será encontrado nos módulos carregados e, em seguida, a pesquisa será encerrada.

Essa opção está desativada por padrão em todos os depuradores. Ele pode ser ativado usando a opção de linha de comando -snul. Depois que o depurador estiver em execução, ele poderá ser ativado ou desativado usando .symopt+0x100 ou .symopt-0x100, respectivamente.

Essa opção está desativada por padrão em DBH. Depois que a DBH estiver em execução, ela poderá ser ativada ou desativada usando symopt +100 ou symopt -100, respectivamente.

SYMOPT_FAIL_CRITICAL_ERRORS

Essa opção de símbolo faz com que as caixas de diálogo de erro de acesso ao arquivo sejam suprimidas.

Se essa opção estiver desativada, erros de acesso a arquivos, como "unidade não pronta", encontrados durante o carregamento do símbolo, resultarão na exibição de caixas de diálogo. Se essa opção estiver ativada, essas caixas serão suprimidas e todos os erros de acesso receberão uma resposta de "falha".

Essa opção está ativada por padrão em todos os depuradores. Ele pode ser desativado usando a opção de linha de comando -sdce. Depois que o depurador estiver em execução, ele poderá ser ativado ou desativado usando .symopt+0x200 ou .symopt-0x200, respectivamente.

Essa opção está desativada por padrão em DBH. Depois que a DBH estiver em execução, ela poderá ser ativada ou desativada usando symopt +200 ou symopt -200, respectivamente.

SYMOPT_EXACT_SYMBOLS

Essa opção de símbolo faz com que o depurador execute uma avaliação estrita de todos os arquivos de símbolo.

Quando essa opção estiver ativada, até mesmo a menor discrepância entre os arquivos de símbolo e as expectativas do manipulador de símbolos fará com que os símbolos sejam ignorados.

Essa opção está desativada por padrão em todos os depuradores. Ele pode ser ativado usando a opção de linha de comando -ses. Depois que o depurador estiver em execução, ele poderá ser ativado ou desativado usando .symopt+0x400 ou .symopt-0x400, respectivamente.

A opção de linha de comando -failinc também ativa SYMOPT_EXACT_SYMBOLS. Além disso, se você estiver depurando um minidump no modo de usuário ou um minidump no modo kernel, -failinc impedirá que o depurador carregue todos os módulos cujas imagens não podem ser mapeadas.

Essa opção está ativada por padrão em DBH. Depois que a DBH estiver em execução, ela poderá ser ativada ou desativada usando symopt +400 ou symopt -400, respectivamente.

SYMOPT_ALLOW_ABSOLUTE_SYMBOLS

Essa opção de símbolo permite que DbgHelp leia símbolos armazenados em um endereço absoluto na memória. Essa opção não é necessária na grande maioria dos casos.

Essa opção está desativada por padrão em todos os depuradores. Depois que o depurador estiver em execução, ele poderá ser ativado ou desativado usando .symopt+0x800 ou .symopt-0x800, respectivamente.

Essa opção está ativada por padrão em DBH. Depois que a DBH estiver em execução, ela poderá ser ativada ou desativada usando symopt +800 ou symopt -800, respectivamente.

SYMOPT_IGNORE_NT_SYMPATH

Essa opção de símbolo faz com que o depurador ignore as configurações de variável de ambiente para o caminho do símbolo e o caminho da imagem executável.

Essa opção está desativada por padrão em todos os depuradores. Ele pode ser ativado usando a opção de linha de comando -sins. No entanto, ele não pode ser controlado por .symopt depois que o depurador está em execução, pois as variáveis de ambiente são lidas apenas na inicialização.

Essa opção está desativada por padrão em DBH e é ignorada pela DBH em todos os casos.

SYMOPT_PUBLICS_ONLY

Essa opção de símbolo faz com que DbgHelp ignore dados de símbolos privados e pesquise apenas na tabela de símbolos públicos informações de símbolo. Isso emula o comportamento de DbgHelp antes que o suporte para esses tipos seja adicionado. consulte Símbolos públicos e privados.

Essa opção está desativada por padrão em todos os depuradores. Depois que o depurador estiver em execução, ele poderá ser ativado ou desativado usando .symopt+0x4000 ou .symopt-0x4000, respectivamente.

Essa opção está desativada por padrão em DBH. Ele será ativado se a opção de linha de comando -d for usada. Depois que a DBH estiver em execução, ela poderá ser ativada ou desativada usando symopt +4000 ou symopt -4000, respectivamente.

SYMOPT_NO_PUBLICS

Essa opção de símbolo impede que DbgHelp pesquise a tabela de símbolos públicos. Isso pode tornar a enumeração de símbolos e as pesquisas de símbolos muito mais rápidas. Se você estiver preocupado apenas com a velocidade de pesquisa, a opção SYMOPT_AUTO_PUBLICS geralmente é preferível a esta. Para obter informações sobre a tabela de símbolos públicos, consulte Símbolos públicos e privados.

Essa opção está desativada por padrão em todos os depuradores. Depois que o depurador estiver em execução, ele poderá ser ativado ou desativado usando .symopt+0x8000 ou .symopt-0x8000, respectivamente.

Essa opção está desativada por padrão em DBH. Depois que a DBH estiver em execução, ela poderá ser ativada ou desativada usando symopt +8000 ou symopt -8000, respectivamente.

SYMOPT_AUTO_PUBLICS

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. Isso melhora a velocidade de pesquisa de símbolos.

Essa opção está ativada por padrão em todos os depuradores. Ele pode ser desativado usando a opção de linha de comando -sup. Depois que o depurador estiver em execução, ele poderá ser ativado ou desativado usando .symopt+0x10000 ou .symopt-0x10000, respectivamente.

Essa opção está ativada por padrão em DBH. Ele será desativado se a opção de linha de comando -d for usada. Depois que a DBH estiver em execução, ela poderá ser ativada ou desativada usando symopt +10000 ou symopt -10000, respectivamente.

Essa opção de símbolo impede que DbgHelp pesquise uma cópia da imagem no disco quando os símbolos são carregados.

Essa opção está ativada por padrão em todos os depuradores. Depois que o depurador estiver em execução, ele poderá ser ativado ou desativado usando .symopt+0x20000 ou .symopt-0x20000, respectivamente.

Essa opção está desativada por padrão em DBH. Depois que a DBH estiver em execução, ela poderá ser ativada ou desativada usando symopt +20000 ou symopt -20000, respectivamente.

SYMOPT_SECURE

(Somente modo kernel) Essa opção de símbolo indica se o Modo Seguro está ativo.

O Modo de Segurança está desativado por padrão em todos os depuradores. Ele pode ser ativado usando a opção de linha de comando -secure. Se o depurador estiver em execução, estiver no modo inativo e não tiver estabelecido nenhum Servidor de Depuração, o Modo Seguro poderá ser ativado usando .symopt+0x40000 ou .secure (Ativar Modo Seguro).

Essa opção está desativada por padrão em DBH. Depois que a DBH estiver em execução, ela poderá ser ativada ou desativada usando symopt +40000 ou symopt -40000, respectivamente.

O modo de segurança nunca pode ser desativado depois de ativado.

SYMOPT_NO_PROMPTS

Essa opção de símbolo suprime as caixas de diálogo de autenticação do servidor proxy. Isso pode fazer com que o SymSrv não consiga acessar um repositório de símbolos na Internet.

Para obter detalhes, consulte Firewalls e servidores proxy.

Em KD e CDB, essa opção está ativada por padrão; no WinDbg, essa opção está desativada por padrão. Depois que o depurador estiver em execução, ele poderá ser ativado ou desativado usando .symopt+0x80000 ou .symopt-0x80000, respectivamente, seguido pelo comando .reload (Recarregar Módulo). Ele também pode ser ativado e desativado usando os comandos !sym prompts off e !sym prompts extension, seguidos pelo comando .reload (Recarregar Módulo).

Essa opção está desativada por padrão em DBH. Depois que a DBH estiver em execução, ela poderá ser ativada ou desativada usando symopt +80000 ou symopt -80000, respectivamente.

-SYMOPT_DEBUG

Essa opção de símbolo ativa o carregamento de símbolo barulhento. Isso instrui o depurador a exibir informações sobre sua pesquisa por símbolos.

O nome de cada arquivo de símbolo será exibido conforme ele for carregado. Se o depurador não puder carregar um arquivo de símbolo, ele exibirá uma mensagem de erro. As mensagens de erro para arquivos .pdb serão exibidas no texto. As mensagens de erro para arquivos .dbg estarão na forma de um código de erro; esses códigos são explicados no arquivo winerror.h.

Se um arquivo de imagem for carregado exclusivamente para recuperar informações simbólicas de cabeçalho, isso também será exibido.

Essa opção está desativada por padrão em todos os depuradores. Ele pode ser ativado usando a opção de linha de comando -n. Depois que o depurador estiver em execução, ele poderá ser ativado ou desativado usando .symopt+0x80000000 ou .symopt-0x80000000, respectivamente. Ele também pode ser ativado e desativado usando os comandos !sym barulhento e !sym quiet extension.

Nota Essa opção não deve ser confundida com o carregamento de origem barulhento , que é controlado pelo comando .srcnoisy (Carregamento de Origem Barulhento).

Essa opção está desativada por padrão em DBH. Ele pode ser ativado usando a opção de linha de comando -n. Depois que a DBH estiver em execução, ela poderá ser ativada ou desativada usando symopt +80000000 ou symopt -80000000, respectivamente. Ele também pode ser ativado e desativado usando os comandos detalhados ativados e detalhados.