Compartilhar via


Função SymSetOptions (dbghelp.h)

Define a máscara de opções.

Sintaxe

DWORD IMAGEAPI SymSetOptions(
  [in] DWORD SymOptions
);

Parâmetros

[in] SymOptions

As opções de símbolo. Zero é um valor válido e indica que todas as opções estão desativadas. Os valores de opções são combinados usando o operador OR para formar um valor de opções válido. Os seguintes valores são válidos:

Valor Significado
SYMOPT_ALLOW_ABSOLUTE_SYMBOLS
0x00000800
Habilita o uso de símbolos armazenados com endereços absolutos. A maioria dos símbolos é armazenada como RVAs da base do módulo. DbgHelp os converte em endereços absolutos. Há símbolos armazenados como um endereço absoluto. Elas têm finalidades muito especializadas e normalmente não são usadas.

DbgHelp 5.1 e anterior: Não há suporte para esse valor.

SYMOPT_ALLOW_ZERO_ADDRESS
0x01000000
Habilita o uso de símbolos que não têm um endereço. Por padrão, dbgHelp filtra símbolos que não têm um endereço.
SYMOPT_AUTO_PUBLICS
0x00010000
Não pesquise os símbolos públicos ao pesquisar símbolos por endereço ou ao enumerar símbolos, a menos que eles não tenham sido encontrados nos símbolos globais ou dentro do escopo atual. Essa opção não tem efeito com SYMOPT_PUBLICS_ONLY.

DbgHelp 5.1 e anterior: Não há suporte para esse valor.

SYMOPT_CASE_INSENSITIVE
0x00000001
Todas as pesquisas de símbolos não diferenciam maiúsculas de minúsculas.
SYMOPT_DEBUG
0x80000000
Passe a saída de depuração por meio de OutputDebugString ou da função de retorno de chamada SymRegisterCallbackProc64 .
SYMOPT_DEFERRED_LOADS
0x00000004
Os símbolos não são carregados até que uma referência seja feita exigindo que os símbolos sejam carregados. Essa é a maneira mais rápida e eficiente de usar o manipulador de símbolos.
SYMOPT_DISABLE_SYMSRV_AUTODETECT
0x02000000
Desabilita a detecção automática de repositórios de servidor de símbolos no caminho do símbolo, mesmo sem a designação "SRV*", mantendo a compatibilidade com o comportamento anterior.

DbgHelp 6.6 e anteriores: Não há suporte para esse valor.

SYMOPT_EXACT_SYMBOLS
0x00000400
Não carregue um arquivo .pdb sem correspondência. Não carregue símbolos de exportação se tudo falhar.
SYMOPT_FAIL_CRITICAL_ERRORS
0x00000200
Não exiba caixas de diálogo do sistema quando houver uma falha de mídia, como nenhuma mídia em uma unidade. Em vez disso, a falha ocorre silenciosamente.
SYMOPT_FAVOR_COMPRESSED
0x00800000
Se houver um arquivo descompactado e compactado disponível, favorecimento ao arquivo compactado. Essa opção é boa para conexões lentas.
SYMOPT_FLAT_DIRECTORY
0x00400000
Os símbolos são armazenados no diretório raiz do repositório downstream padrão.

DbgHelp 6.1 e anterior: Não há suporte para esse valor.

SYMOPT_IGNORE_CVREC
0x00000080
Ignore as informações de caminho no registro CodeView do cabeçalho da imagem ao carregar um arquivo .pdb.
SYMOPT_IGNORE_IMAGEDIR
0x00200000
Ignore o diretório de imagem.

DbgHelp 6.1 e anterior: Não há suporte para esse valor.

SYMOPT_IGNORE_NT_SYMPATH
0x00001000
Não use o caminho especificado por _NT_SYMBOL_PATH se o usuário chamar SymSetSearchPath sem um caminho válido.

DbgHelp 5.1: Não há suporte para esse valor.

SYMOPT_INCLUDE_32BIT_MODULES
0x00002000
Ao depurar no Windows de 64 bits, inclua todos os módulos de 32 bits.
SYMOPT_LOAD_ANYTHING
0x00000040
Desabilite as verificações para garantir que um arquivo (.exe, .dbg.ou .pdb) seja o arquivo correto. Em vez disso, carregue o primeiro arquivo localizado.
SYMOPT_LOAD_LINES
0x00000010
Carrega informações de número de linha.
SYMOPT_NO_CPP
0x00000008
Todos os símbolos decorados do C++ que contêm o separador de símbolos "::" são substituídos por "__". Essa opção existe para depuradores que não podem lidar com a análise de nomes de símbolos C++ reais.
SYMOPT_NO_IMAGE_SEARCH
0x00020000
Não pesquise na imagem o caminho do símbolo ao carregar os símbolos de um módulo se o cabeçalho do módulo não puder ser lido.

DbgHelp 5.1: Não há suporte para esse valor.

SYMOPT_NO_PROMPTS
0x00080000
Impede a solicitação de validação do servidor de símbolos.
SYMOPT_NO_PUBLICS
0x00008000
Não pesquise símbolos na tabela de públicos. Essa opção deve ter pouco efeito porque há cópias dos símbolos públicos na tabela global.

DbgHelp 5.1: Não há suporte para esse valor.

SYMOPT_NO_UNQUALIFIED_LOADS
0x00000100
Impede que símbolos sejam carregados quando o chamador examina símbolos em vários módulos. Examine apenas o módulo cujos símbolos já foram carregados.
SYMOPT_OVERWRITE
0x00100000
Substitua o repositório de nível inferior do repositório de símbolos.

DbgHelp 6.1 e anterior: Não há suporte para esse valor.

SYMOPT_PUBLICS_ONLY
0x00004000
Não use símbolos privados. A versão do DbgHelp que acompanhava a versão anterior do Windows tinha suporte apenas para símbolos públicos; essa opção fornece compatibilidade com essa limitação.

DbgHelp 5.1: Não há suporte para esse valor.

SYMOPT_SECURE
0x00040000
DbgHelp não carregará nenhum servidor de símbolos diferente de SymSrv. O SymSrv não usará o repositório downstream especificado em _NT_SYMBOL_PATH. Depois que esse sinalizador tiver sido definido, ele não poderá ser limpo.

DbgHelp 6.0 e 6.1: Esse sinalizador pode ser limpo.

DbgHelp 5.1: Não há suporte para esse valor.

SYMOPT_UNDNAME
0x00000002
Todos os símbolos são apresentados em formato não decorado.

Essa opção não tem efeito sobre símbolos globais ou locais porque eles são armazenados sem cor. Essa opção se aplica somente a símbolos públicos.

Valor retornado

A função retorna a máscara de opções atual.

Comentários

O valor de opções pode ser alterado várias vezes enquanto a biblioteca está em uso por um aplicativo. A alteração de opção afeta todas as chamadas futuras para o manipulador de símbolos.

Para obter a máscara de opções atual, chame a função SymGetOptions .

Todas as funções DbgHelp, como esta, são threaded único. Portanto, chamadas de mais de um thread para essa função provavelmente resultarão em comportamento inesperado ou corrupção de memória. Para evitar isso, você deve sincronizar todas as chamadas simultâneas de mais de um thread para essa função.

Exemplos

Para obter um exemplo, consulte Inicializando o manipulador de símbolos.

Requisitos

   
Plataforma de Destino Windows
Cabeçalho dbghelp.h
Biblioteca Dbghelp.lib
DLL Dbghelp.dll
Redistribuível DbgHelp.dll 5.1 ou posterior

Confira também

Funções DbgHelp

SymGetOptions