Compartilhar via


Symbol Options

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:

Flag Option Name Padrão no depurador Padrão em DBH

0x1

SYMOPT_CASE_INSENSITIVE

On

On

0x2

SYMOPT_UNDNAME

On

On

0x4

SYMOPT_DEFERRED_LOADS

On

Off

0x8

SYMOPT_NO_CPP

Off

Off

0x10

SYMOPT_LOAD_LINES

Desativado em KD e CDB

Ativado no WinDbg

On

0x20

SYMOPT_OMAP_FIND_NEAREST

On

Off

0x40

SYMOPT_LOAD_ANYTHING

Off

Off

0x80

SYMOPT_IGNORE_CVREC

Off

Off

0x100

SYMOPT_NO_UNQUALIFIED_LOADS

Off

Off

0x200

SYMOPT_FAIL_CRITICAL_ERRORS

On

Off

0x400

SYMOPT_EXACT_SYMBOLS

Off

On

0x800

SYMOPT_ALLOW_ABSOLUTE_SYMBOLS

Off

On

0x1000

SYMOPT_IGNORE_NT_SYMPATH

Off

Off

0x2000

SYMOPT_INCLUDE_32BIT_MODULES

Off

Off

0x4000

SYMOPT_PUBLICS_ONLY

Off

Off

0x8000

SYMOPT_NO_PUBLICS

Off

Off

0x10000

SYMOPT_AUTO_PUBLICS

On

On

0x20000

SYMOPT_NO_IMAGE_SEARCH

On

Off

0x40000

SYMOPT_SECURE

Off

Off

0x80000

SYMOPT_NO_PROMPTS

Ativado em KD e CDB

Desativado no WinDbg

Off

0x80000000

SYMOPT_DEBUG

Off

Off

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. In addition, a number of command-line parameters and commands are available to change these settings; these are listed in the individual SYMOPT_XXX sections.

You can also control all the settings at once with the -sflagscommand-line option. This option can be followed with a decimal number, or with a hexadecimal number prefixed by 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. For example, -sflags 0x401 will not only turn on SYMOPT_EXACT_SYMBOLS and SYMOPT_CASE_INSENSITIVE, but will also turn off all the other options that normally are on by default!

O valor padrão do 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 opções de linha de comando relacionadas 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. Once the debugger is running, it can be turned on or off by using .symopt+0x1 or .symopt-0x1, respectively.

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 corrigidos 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. Once the debugger is running, it can be turned on or off by using .symopt+0x2 or .symopt-0x2, respectively.

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 o 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. It can also be turned off in CDB by using the LazyLoad variable in the tools.ini file. Once the debugger is running, this option can be turned on or off by using .symopt+0x4 or .symopt-0x4, respectively.

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++. When this symbol option is set, :: is replaced by __ in all symbols.

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. Once the debugger is running, it can be turned on or off by using .symopt+0x8 or .symopt-0x8, respectively.

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 dos 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. Once the debugger is running, it can be turned on or off by using .symopt+0x10 or .symopt-0x10, respectively. Ele também pode ser ativado e desativado usando o comando .lines (Toggle Source Line Support).

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. Once the debugger is running, it can be turned on or off by using .symopt+0x20 or .symopt-0x20, respectively.

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 ao tentar corresponder aos símbolos.

Essa opção está desativada por padrão em todos os depuradores. Once the debugger is running, it can be turned on or off by using .symopt+0x40 or .symopt-0x40, respectively.

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. Once the debugger is running, it can be turned on or off by using .symopt+0x80 or .symopt-0x80, respectively.

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 mal tipado 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. Once the debugger is running, it can be turned on or off by using .symopt+0x100 or .symopt-0x100, respectively.

Essa opção está desativada por padrão em DBH. Depois que o DBH estiver em execução, ele poderá ser ativado ou desativado 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 ao arquivo, como "unidade não pronta", encontrados durante o carregamento de símbolos, 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. Once the debugger is running, it can be turned on or off by using .symopt+0x200 or .symopt-0x200, respectively.

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 rigorosa 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. Once the debugger is running, it can be turned on or off by using .symopt+0x400 or .symopt-0x400, respectively.

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. Once the debugger is running, it can be turned on or off by using .symopt+0x800 or .symopt-0x800, respectively.

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. However, it cannot be controlled by .symopt once the debugger is running, because the environment variables are only read at startup.

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

SYMOPT_PUBLICS_ONLY

Essa opção de símbolo faz com que dbgHelp ignore dados de símbolo privado e pesquise apenas a tabela de símbolos públicos para obter 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. Once the debugger is running, it can be turned on or off by using .symopt+0x4000 or .symopt-0x4000, respectively.

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. Once the debugger is running, it can be turned on or off by using .symopt+0x8000 or .symopt-0x8000, respectively.

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. Once the debugger is running, it can be turned on or off by using .symopt+0x10000 or .symopt-0x10000, respectively.

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. Once the debugger is running, it can be turned on or off by using .symopt+0x20000 or .symopt-0x20000, respectively.

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

(Kernel mode only) This symbol option indicates whether Secure Mode is active.

O Modo seguro está desativado por padrão em todos os depuradores. Ele pode ser ativado usando a opção de linha de comando -secure. If the debugger is running, is in dormant mode, and has not established any Debugging Servers, Secure Mode can be turned on by using .symopt+0x40000 or .secure (Activate Secure Mode).

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 possa 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. Once the debugger is running, it can be turned on or off by using .symopt+0x80000 or .symopt-0x80000, respectively, followed by the .reload (Reload Module) command. Ele também pode ser ativado e desativado usando os prompts !sym desativados e os comandos de extensão !sym prompts , seguidos pelo comando .reload (Módulo de Recarregamento ).

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

-SYMOPT_DEBUG

Essa opção de símbolo ativa o carregamento de símbolos barulhentos. 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. Mensagens de erro para arquivos .pdb serão exibidas em 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 apenas 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. Once the debugger is running, it can be turned on or off by using .symopt+0x80000000 or .symopt-0x80000000, respectively. It can also be turned on and off by using the !sym noisy and !sym quiet extension commands.

Note This option should not be confused with noisy source loading -- that is controlled by the .srcnoisy (Noisy Source Loading) command.

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 e detalhados.