Compartir a través de


Función SymSetOptions (dbghelp.h)

Establece la máscara de opciones.

Sintaxis

DWORD IMAGEAPI SymSetOptions(
  [in] DWORD SymOptions
);

Parámetros

[in] SymOptions

Opciones de símbolo. Cero es un valor válido e indica que todas las opciones están desactivadas. Los valores de las opciones se combinan mediante el operador OR para formar un valor de opciones válido. Estos son los valores válidos.

Valor Significado
SYMOPT_ALLOW_ABSOLUTE_SYMBOLS
0x00000800
Habilita el uso de símbolos almacenados con direcciones absolutas. La mayoría de los símbolos se almacenan como RVA desde la base del módulo. DbgHelp los traduce en direcciones absolutas. Hay símbolos que se almacenan como una dirección absoluta. Estos tienen propósitos muy especializados y normalmente no se usan.

DbgHelp 5.1 y versiones anteriores: Este valor no se admite.

SYMOPT_ALLOW_ZERO_ADDRESS
0x01000000
Habilita el uso de símbolos que no tienen una dirección. De forma predeterminada, DbgHelp filtra los símbolos que no tienen una dirección.
SYMOPT_AUTO_PUBLICS
0x00010000
No busque los símbolos públicos al buscar símbolos por dirección o al enumerar símbolos, a menos que no se encuentren en los símbolos globales o dentro del ámbito actual. Esta opción no tiene ningún efecto con SYMOPT_PUBLICS_ONLY.

DbgHelp 5.1 y versiones anteriores: Este valor no se admite.

SYMOPT_CASE_INSENSITIVE
0x00000001
Todas las búsquedas de símbolos no distinguen mayúsculas de minúsculas.
SYMOPT_DEBUG
0x80000000
Pase la salida de depuración a través de OutputDebugString o la función de devolución de llamada SymRegisterCallbackProc64 .
SYMOPT_DEFERRED_LOADS
0x00000004
Los símbolos no se cargan hasta que se hace una referencia que requiere que se carguen los símbolos. Esta es la forma más rápida y eficaz de usar el controlador de símbolos.
SYMOPT_DISABLE_SYMSRV_AUTODETECT
0x02000000
Deshabilita la detección automática de almacenes de servidores de símbolos en la ruta de acceso de símbolos, incluso sin la designación "SRV*", manteniendo la compatibilidad con el comportamiento anterior.

DbgHelp 6.6 y versiones anteriores: Este valor no se admite.

SYMOPT_EXACT_SYMBOLS
0x00000400
No cargue un archivo .pdb no coincidente. No cargue símbolos de exportación si se produce un error en todo lo demás.
SYMOPT_FAIL_CRITICAL_ERRORS
0x00000200
No mostrar cuadros de diálogo del sistema cuando se produce un error multimedia, como ningún medio en una unidad. En su lugar, el error se produce de forma silenciosa.
SYMOPT_FAVOR_COMPRESSED
0x00800000
Si hay un archivo sin comprimir y un archivo comprimido disponible, favorelo. Esta opción es buena para conexiones lentas.
SYMOPT_FLAT_DIRECTORY
0x00400000
Los símbolos se almacenan en el directorio raíz del almacén de bajada predeterminado.

DbgHelp 6.1 y versiones anteriores: Este valor no se admite.

SYMOPT_IGNORE_CVREC
0x00000080
Omita la información de ruta de acceso en el registro CodeView del encabezado de imagen al cargar un archivo .pdb.
SYMOPT_IGNORE_IMAGEDIR
0x00200000
Omita el directorio de la imagen.

DbgHelp 6.1 y versiones anteriores: Este valor no se admite.

SYMOPT_IGNORE_NT_SYMPATH
0x00001000
No use la ruta de acceso especificada por _NT_SYMBOL_PATH si el usuario llama a SymSetSearchPath sin una ruta de acceso válida.

DbgHelp 5.1: Este valor no se admite.

SYMOPT_INCLUDE_32BIT_MODULES
0x00002000
Al depurar en Windows de 64 bits, incluya cualquier módulo de 32 bits.
SYMOPT_LOAD_ANYTHING
0x00000040
Deshabilite las comprobaciones para asegurarse de que un archivo (.exe, .dbg.o .pdb) es el archivo correcto. En su lugar, cargue el primer archivo ubicado.
SYMOPT_LOAD_LINES
0x00000010
Carga la información del número de línea.
SYMOPT_NO_CPP
0x00000008
Todos los símbolos decorados de C++ que contienen el separador de símbolos "::" se reemplazan por "__". Esta opción existe para los depuradores que no pueden controlar el análisis de nombres de símbolos de C++ reales.
SYMOPT_NO_IMAGE_SEARCH
0x00020000
No busque la imagen en la ruta de acceso del símbolo al cargar los símbolos de un módulo si no se puede leer el encabezado del módulo.

DbgHelp 5.1: Este valor no se admite.

SYMOPT_NO_PROMPTS
0x00080000
Impide solicitar la validación desde el servidor de símbolos.
SYMOPT_NO_PUBLICS
0x00008000
No busque símbolos en la tabla publics. Esta opción debe tener poco efecto porque hay copias de los símbolos públicos en la tabla globals.

DbgHelp 5.1: Este valor no se admite.

SYMOPT_NO_UNQUALIFIED_LOADS
0x00000100
Impide que se carguen símbolos cuando el autor de la llamada examina los símbolos en varios módulos. Examine solo el módulo cuyos símbolos ya se han cargado.
SYMOPT_OVERWRITE
0x00100000
Sobrescriba el almacén de nivel inferior del almacén de símbolos.

DbgHelp 6.1 y versiones anteriores: Este valor no se admite.

SYMOPT_PUBLICS_ONLY
0x00004000
No use símbolos privados. La versión de DbgHelp que se incluye con la versión anterior de Windows solo admite símbolos públicos; esta opción proporciona compatibilidad con esta limitación.

DbgHelp 5.1: Este valor no se admite.

SYMOPT_SECURE
0x00040000
DbgHelp no cargará ningún servidor de símbolos que no sea SymSrv. SymSrv no usará el almacén de bajada especificado en _NT_SYMBOL_PATH. Una vez establecida esta marca, no se puede borrar.

DbgHelp 6.0 y 6.1: Esta marca se puede borrar.

DbgHelp 5.1: Este valor no se admite.

SYMOPT_UNDNAME
0x00000002
Todos los símbolos se presentan en forma no codificada.

Esta opción no tiene ningún efecto en los símbolos globales o locales porque se almacenan sin codificar. Esta opción solo se aplica a símbolos públicos.

Valor devuelto

La función devuelve la máscara de opciones actual.

Comentarios

El valor de las opciones se puede cambiar cualquier número de veces mientras una aplicación usa la biblioteca. El cambio de opción afecta a todas las llamadas futuras al controlador de símbolos.

Para obtener la máscara de opciones actual, llame a la función SymGetOptions .

Todas las funciones DbgHelp, como esta, son un único subproceso. Por lo tanto, es probable que las llamadas desde más de un subproceso a esta función producirán un comportamiento inesperado o daños en la memoria. Para evitarlo, debe sincronizar todas las llamadas simultáneas de más de un subproceso a esta función.

Ejemplos

Para obtener un ejemplo, consulte Inicialización del controlador de símbolos.

Requisitos

   
Plataforma de destino Windows
Encabezado dbghelp.h
Library Dbghelp.lib
Archivo DLL Dbghelp.dll
Redistribuible DbgHelp.dll 5.1 o posterior

Consulte también

Funciones de DbgHelp

SymGetOptions