Funzione SymSetOptions (dbghelp.h)

Imposta la maschera delle opzioni.

Sintassi

DWORD IMAGEAPI SymSetOptions(
  [in] DWORD SymOptions
);

Parametri

[in] SymOptions

Opzioni del simbolo. Zero è un valore valido e indica che tutte le opzioni vengono disattivate. I valori delle opzioni vengono combinati usando l'operatore OR per formare un valore di opzioni valido. I valori validi sono i seguenti.

Valore Significato
SYMOPT_ALLOW_ABSOLUTE_SYMBOLS
0x00000800
Abilita l'uso di simboli archiviati con indirizzi assoluti. La maggior parte dei simboli viene archiviata come RVA dalla base del modulo. DbgHelp li converte in indirizzi assoluti. Esistono simboli archiviati come indirizzo assoluto. Questi hanno scopi molto specializzati e in genere non vengono usati.

DbgHelp 5.1 e versioni precedenti: Questo valore non è supportato.

SYMOPT_ALLOW_ZERO_ADDRESS
0x01000000
Abilita l'uso di simboli che non hanno un indirizzo. Per impostazione predefinita, DbgHelp filtra i simboli che non hanno un indirizzo.
SYMOPT_AUTO_PUBLICS
0x00010000
Non cercare i simboli pubblici durante la ricerca di simboli in base all'indirizzo o durante l'enumerazione dei simboli, a meno che non siano stati trovati nei simboli globali o all'interno dell'ambito corrente. Questa opzione non ha alcun effetto con SYMOPT_PUBLICS_ONLY.

DbgHelp 5.1 e versioni precedenti: Questo valore non è supportato.

SYMOPT_CASE_INSENSITIVE
0x00000001
Tutte le ricerche dei simboli sono senza distinzione tra maiuscole e minuscole.
SYMOPT_DEBUG
0x80000000
Passare l'output di debug tramite OutputDebugString o la funzione di callback SymRegisterCallbackProc64 .
SYMOPT_DEFERRED_LOADS
0x00000004
I simboli non vengono caricati finché non viene effettuato un riferimento che richiede il caricamento dei simboli. Questo è il modo più veloce ed efficiente per usare il gestore dei simboli.
SYMOPT_DISABLE_SYMSRV_AUTODETECT
0x02000000
Disabilita il rilevamento automatico dei server simboli archiviati nel percorso del simbolo, anche senza la designazione "SRV*", mantenendo la compatibilità con il comportamento precedente.

DbgHelp 6.6 e versioni precedenti: Questo valore non è supportato.

SYMOPT_EXACT_SYMBOLS
0x00000400
Non caricare un file con estensione pdb non corrispondente. Non caricare i simboli di esportazione se tutto il resto ha esito negativo.
SYMOPT_FAIL_CRITICAL_ERRORS
0x00000200
Non visualizzare le finestre di dialogo di sistema quando si verifica un errore multimediale, ad esempio nessun supporto in un'unità. Invece, l'errore si verifica in modo invisibile all'utente.
SYMOPT_FAVOR_COMPRESSED
0x00800000
Se è disponibile sia un file compresso che un file compresso, favorire il file compresso. Questa opzione è utile per le connessioni lente.
SYMOPT_FLAT_DIRECTORY
0x00400000
I simboli vengono archiviati nella directory radice dell'archivio downstream predefinito.

DbgHelp 6.1 e versioni precedenti: Questo valore non è supportato.

SYMOPT_IGNORE_CVREC
0x00000080
Ignorare le informazioni sul percorso nel record CodeView dell'intestazione dell'immagine durante il caricamento di un file con estensione pdb.
SYMOPT_IGNORE_IMAGEDIR
0x00200000
Ignorare la directory dell'immagine.

DbgHelp 6.1 e versioni precedenti: Questo valore non è supportato.

SYMOPT_IGNORE_NT_SYMPATH
0x00001000
Non usare il percorso specificato da _NT_SYMBOL_PATH se l'utente chiama SymSetSearchPath senza un percorso valido.

DbgHelp 5.1: Questo valore non è supportato.

SYMOPT_INCLUDE_32BIT_MODULES
0x00002000
Quando si esegue il debug in Windows a 64 bit, includere tutti i moduli a 32 bit.
SYMOPT_LOAD_ANYTHING
0x00000040
Disabilitare i controlli per assicurarsi che un file (.exe, dbg.o pdb) sia il file corretto. Caricare invece il primo file che si trova.
SYMOPT_LOAD_LINES
0x00000010
Carica le informazioni sul numero di riga.
SYMOPT_NO_CPP
0x00000008
Tutti i simboli decorati C++ contenenti il separatore di simboli "::" vengono sostituiti da "__". Questa opzione esiste per i debugger che non possono gestire l'analisi dei nomi dei simboli C++ reali.
SYMOPT_NO_IMAGE_SEARCH
0x00020000
Non cercare l'immagine per il percorso del simbolo durante il caricamento dei simboli per un modulo se non è possibile leggere l'intestazione del modulo.

DbgHelp 5.1: Questo valore non è supportato.

SYMOPT_NO_PROMPTS
0x00080000
Impedisce la richiesta di convalida dal server di simboli.
SYMOPT_NO_PUBLICS
0x00008000
Non cercare la tabella publics per i simboli. Questa opzione dovrebbe avere un effetto minimo perché sono presenti copie dei simboli pubblici nella tabella globals.

DbgHelp 5.1: Questo valore non è supportato.

SYMOPT_NO_UNQUALIFIED_LOADS
0x00000100
Impedisce il caricamento dei simboli quando il chiamante esamina i simboli tra più moduli. Esaminare solo il modulo i cui simboli sono già stati caricati.
SYMOPT_OVERWRITE
0x00100000
Sovrascrivere l'archivio di livello inferiore dall'archivio dei simboli.

DbgHelp 6.1 e versioni precedenti: Questo valore non è supportato.

SYMOPT_PUBLICS_ONLY
0x00004000
Non usare simboli privati. La versione di DbgHelp fornita con la versione precedente di Windows supportava solo i simboli pubblici; questa opzione garantisce la compatibilità con questa limitazione.

DbgHelp 5.1: Questo valore non è supportato.

SYMOPT_SECURE
0x00040000
DbgHelp non caricherà alcun server di simboli diverso da SymSrv. SymSrv non userà l'archivio downstream specificato in _NT_SYMBOL_PATH. Dopo aver impostato questo flag, non può essere cancellato.

DbgHelp 6.0 e 6.1: Questo flag può essere cancellato.

DbgHelp 5.1: Questo valore non è supportato.

SYMOPT_UNDNAME
0x00000002
Tutti i simboli vengono presentati in formato nondecorato.

Questa opzione non ha alcun effetto sui simboli globali o locali perché vengono archiviati senza valore didecorato. Questa opzione si applica solo ai simboli pubblici.

Valore restituito

La funzione restituisce la maschera di opzioni corrente.

Commenti

Il valore delle opzioni può essere modificato qualsiasi numero di volte mentre la libreria è in uso da un'applicazione. La modifica dell'opzione influisce su tutte le chiamate future al gestore dei simboli.

Per ottenere la maschera delle opzioni corrente, chiamare la funzione SymGetOptions .

Tutte le funzioni DbgHelp, ad esempio questa, sono a thread singolo. Di conseguenza, le chiamate da più thread a questa funzione genereranno un comportamento imprevisto o un danneggiamento della memoria. Per evitare questo problema, è necessario sincronizzare tutte le chiamate simultanee da più thread a questa funzione.

Esempio

Per un esempio, vedere Inizializzazione del gestore dei simboli.

Requisiti

   
Piattaforma di destinazione Windows
Intestazione dbghelp.h
Libreria Dbghelp.lib
DLL Dbghelp.dll
Componente ridistribuibile DbgHelp.dll 5.1 o versione successiva

Vedi anche

Funzioni DbgHelp

SymGetOptions