Partager via


Fonction SymSetOptions (dbghelp.h)

Définit le masque d’options.

Syntaxe

DWORD IMAGEAPI SymSetOptions(
  [in] DWORD SymOptions
);

Paramètres

[in] SymOptions

Options de symbole. Zéro est une valeur valide et indique que toutes les options sont désactivées. Les valeurs d’options sont combinées à l’aide de l’opérateur OR pour former une valeur d’options valide. Les valeurs valides sont les suivantes.

Valeur Signification
SYMOPT_ALLOW_ABSOLUTE_SYMBOLS
0x00000800
Permet d’utiliser des symboles stockés avec des adresses absolues. La plupart des symboles sont stockés en tant que RVA à partir de la base du module. DbgHelp les traduit en adresses absolues. Certains symboles sont stockés en tant qu’adresse absolue. Ceux-ci ont des objectifs très spécialisés et ne sont généralement pas utilisés.

DbgHelp 5.1 et versions antérieures : Cette valeur n’est pas prise en charge.

SYMOPT_ALLOW_ZERO_ADDRESS
0x01000000
Permet d’utiliser des symboles qui n’ont pas d’adresse. Par défaut, DbgHelp filtre les symboles qui n’ont pas d’adresse.
SYMOPT_AUTO_PUBLICS
0x00010000
Ne recherchez pas les symboles publics lors de la recherche de symboles par adresse ou lors de l’énumération de symboles, sauf s’ils n’ont pas été trouvés dans les symboles globaux ou dans l’étendue actuelle. Cette option n’a aucun effet avec SYMOPT_PUBLICS_ONLY.

DbgHelp 5.1 et versions antérieures : Cette valeur n’est pas prise en charge.

SYMOPT_CASE_INSENSITIVE
0x00000001
Toutes les recherches de symboles ne respectent pas la casse.
SYMOPT_DEBUG
0x80000000
Transmettez la sortie de débogage via OutputDebugString ou la fonction de rappel SymRegisterCallbackProc64 .
SYMOPT_DEFERRED_LOADS
0x00000004
Les symboles ne sont pas chargés tant qu’une référence n’est pas effectuée nécessitant le chargement des symboles. Il s’agit de la façon la plus rapide et la plus efficace d’utiliser le gestionnaire de symboles.
SYMOPT_DISABLE_SYMSRV_AUTODETECT
0x02000000
Désactive la détection automatique des magasins de serveurs de symboles dans le chemin d’accès des symboles, même sans la désignation « SRV* », tout en conservant la compatibilité avec le comportement précédent.

DbgHelp 6.6 et versions antérieures : Cette valeur n’est pas prise en charge.

SYMOPT_EXACT_SYMBOLS
0x00000400
Ne chargez pas de fichier .pdb sans correspondance. Ne chargez pas les symboles d’exportation si tout le reste échoue.
SYMOPT_FAIL_CRITICAL_ERRORS
0x00000200
N’affichez pas les boîtes de dialogue système en cas de défaillance d’un média, comme l’absence de média dans un lecteur. Au lieu de cela, l’échec se produit silencieusement.
SYMOPT_FAVOR_COMPRESSED
0x00800000
Si un fichier non compressé et un fichier compressé sont disponibles, privilégiez le fichier compressé. Cette option est adaptée aux connexions lentes.
SYMOPT_FLAT_DIRECTORY
0x00400000
Les symboles sont stockés dans le répertoire racine du magasin en aval par défaut.

DbgHelp 6.1 et versions antérieures : Cette valeur n’est pas prise en charge.

SYMOPT_IGNORE_CVREC
0x00000080
Ignorez les informations de chemin dans l’enregistrement CodeView de l’en-tête d’image lors du chargement d’un fichier .pdb.
SYMOPT_IGNORE_IMAGEDIR
0x00200000
Ignorez le répertoire de l’image.

DbgHelp 6.1 et versions antérieures : Cette valeur n’est pas prise en charge.

SYMOPT_IGNORE_NT_SYMPATH
0x00001000
N’utilisez pas le chemin spécifié par _NT_SYMBOL_PATH si l’utilisateur appelle SymSetSearchPath sans chemin valide.

DbgHelp 5.1 : Cette valeur n’est pas prise en charge.

SYMOPT_INCLUDE_32BIT_MODULES
0x00002000
Lors du débogage sur Windows 64 bits, incluez tous les modules 32 bits.
SYMOPT_LOAD_ANYTHING
0x00000040
Désactivez les vérifications pour vous assurer qu’un fichier (.exe, .dbg.ou .pdb) est le fichier correct. Au lieu de cela, chargez le premier fichier situé.
SYMOPT_LOAD_LINES
0x00000010
Charge les informations de numéro de ligne.
SYMOPT_NO_CPP
0x00000008
Tous les symboles décorés C++ contenant le séparateur de symboles « : : » sont remplacés par « __ ». Cette option existe pour les débogueurs qui ne peuvent pas gérer l’analyse des noms de symboles C++ réels.
SYMOPT_NO_IMAGE_SEARCH
0x00020000
Ne recherchez pas le chemin du symbole dans l’image lors du chargement des symboles d’un module si l’en-tête du module ne peut pas être lu.

DbgHelp 5.1 : Cette valeur n’est pas prise en charge.

SYMOPT_NO_PROMPTS
0x00080000
Empêche l’invite de validation à partir du serveur de symboles.
SYMOPT_NO_PUBLICS
0x00008000
Ne recherchez pas de symboles dans la table public. Cette option doit avoir peu d’effet, car il existe des copies des symboles publics dans la table globals.

DbgHelp 5.1 : Cette valeur n’est pas prise en charge.

SYMOPT_NO_UNQUALIFIED_LOADS
0x00000100
Empêche le chargement des symboles lorsque l’appelant examine les symboles dans plusieurs modules. Examinez uniquement le module dont les symboles ont déjà été chargés.
SYMOPT_OVERWRITE
0x00100000
Remplacez le magasin de niveau inférieur à partir du magasin de symboles.

DbgHelp 6.1 et versions antérieures : Cette valeur n’est pas prise en charge.

SYMOPT_PUBLICS_ONLY
0x00004000
N’utilisez pas de symboles privés. La version de DbgHelp fournie avec la version antérieure de Windows ne prend en charge que les symboles publics ; cette option fournit la compatibilité avec cette limitation.

DbgHelp 5.1 : Cette valeur n’est pas prise en charge.

SYMOPT_SECURE
0x00040000
DbgHelp ne charge aucun serveur de symboles autre que SymSrv. SymSrv n’utilisera pas le magasin en aval spécifié dans _NT_SYMBOL_PATH. Une fois cet indicateur défini, il ne peut pas être effacé.

DbgHelp 6.0 et 6.1 : Cet indicateur peut être effacé.

DbgHelp 5.1 : Cette valeur n’est pas prise en charge.

SYMOPT_UNDNAME
0x00000002
Tous les symboles sont présentés sous forme non décorée.

Cette option n’a aucun effet sur les symboles globaux ou locaux, car ils sont stockés sans décoration. Cette option s’applique uniquement aux symboles publics.

Valeur retournée

La fonction retourne le masque d’options en cours.

Notes

La valeur des options peut être modifiée n’importe quel nombre de fois lorsque la bibliothèque est utilisée par une application. La modification de l’option affecte tous les appels futurs au gestionnaire de symboles.

Pour obtenir le masque d’options actuelles, appelez la fonction SymGetOptions .

Toutes les fonctions DbgHelp, telles que celle-ci, sont à thread unique. Par conséquent, les appels de plusieurs threads à cette fonction entraîneront probablement un comportement inattendu ou une altération de la mémoire. Pour éviter cela, vous devez synchroniser tous les appels simultanés de plusieurs threads vers cette fonction.

Exemples

Pour obtenir un exemple, consultez Initialisation du gestionnaire de symboles.

Spécifications

   
Plateforme cible Windows
En-tête dbghelp.h
Bibliothèque Dbghelp.lib
DLL Dbghelp.dll
Composant redistribuable DbgHelp.dll 5.1 ou version ultérieure

Voir aussi

Fonctions DbgHelp

SymGetOptions