Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Vengono descritte le proprietà di un'istanza del simbolo.
IDiaSymbol : IUnknown
Metodi in ordine alfabetico
Nella tabella seguente sono elencati i metodi IDiaSymbol.
[!NOTA]
I simboli verranno restituiti i dati significativi solo per alcuni di questi metodi, a seconda del tipo di simbolo.Se un metodo restituisce S_OK, il metodo restituisce i dati significativi.
Metodo |
Descrizione |
|---|---|
Recupera tutti i figli del simbolo. |
|
Recupera i figli del simbolo.Questo metodo è la versione estesa IDiaSymbol::findChildren. |
|
Recupera i figli di simboli che sono validi a un indirizzo specificato. |
|
Recupera i figli di simboli che sono validi a un indirizzo virtuale relativo specificato (RVA). |
|
Recupera i figli di simboli che sono validi a un indirizzo virtuale specificato. |
|
Recupera un'enumerazione che consente a un client ripetere da tutti i frame inline in un indirizzo specificato. |
|
Recupera un'enumerazione che consente a un client ripetere da tutti i frame inline in un indirizzo virtuale relativo specificato (RVA). |
|
Recupera un'enumerazione che consente a un client ripetere da tutti i frame inline in un indirizzo virtuale specificato (VA). |
|
Recupera un'enumerazione che consente a un client ripetere direttamente o indirettamente dalle informazioni sul numero di riga di tutte le funzioni in linea, in questo simbolo. |
|
Recupera un'enumerazione che consente a un client ripetere direttamente o indirettamente dalle informazioni sul numero di riga di tutte le funzioni in linea, in questo simbolo nell'intervallo di indirizzi specificato. |
|
Recupera un'enumerazione che consente a un client ripetere direttamente o indirettamente dalle informazioni sul numero di riga di tutte le funzioni in linea, in questo simbolo interno dell'indirizzo virtuale relativo specificato (RVA). |
|
Recupera un'enumerazione che consente a un client ripetere direttamente o indirettamente dalle informazioni sul numero di riga di tutte le funzioni in linea, in questo simbolo interno dell'indirizzo virtuale specificato (VA). |
|
Dato un valore corrispondente tag, questo metodo restituisce un'enumerazione di simboli contenuti in questa funzione stub a un indirizzo virtuale relativo specificato. |
|
Restituisce il numero dei tag del puntatore di scelta rapida nella funzione dello stub di AMP C++. |
|
Restituisce tutti i valori del tag del puntatore di scelta rapida che corrispondono alla funzione stub di tasti di scelta rapida AMP C++. |
|
Recupera il modificatore di accesso al membro di una classe. |
|
Recupera la parte di offset di una posizione address. |
|
Recupera la parte della sezione di una posizione address. |
|
Recupera un flag che indica se un altro simbolo fa riferimento questo indirizzo. |
|
Recupera il valore di età di un database di programma. |
|
Recupera l'identificatore del simbolo del tipo di indice della matrice. |
|
Recupera l'identificatore di tipo di indice della matrice dei simboli. |
|
Recupera il numero di versione principale back-end. |
|
Recupera il numero di versione secondario back-end. |
|
Recupera il numero di build back-end. |
|
Recuperare l'offset di base di dati. |
|
Recupera lo slot di dati di base. |
|
Recupera il simbolo che il puntatore è basato. |
|
Recupera il simbolo ID da cui il puntatore è basato. |
|
Recupera il tag del tipo di un tipo semplice. |
|
Recupera il percorso di bit di un percorso. |
|
Recupera un tipo incorporato del tipo di HLSL. |
|
Restituisce un indicatore della convenzione di chiamata di un metodo. |
|
Recupera un riferimento al padre del simbolo. |
|
Recupera l'identificatore della classe padre del simbolo. |
|
Recupera un flag che indica se il simbolo fa riferimento a un codice dell'. |
|
Recupera un flag che indica se il simbolo è generato dal compilatore. |
|
Recupera il nome del compilatore utilizzato per creare Modulo. |
|
Recupera un flag che indica se il tipo di dati definito dall'utente dispone di un costruttore. |
|
Recupera il simbolo contenitore di questo simbolo. |
|
Recupera un flag che indica se il tipo di dati definito dall'utente è costante. |
|
Recupera il numero di elementi in un elenco o in una matrice. |
|
Recupera il numero di intervalli degli indirizzi validi associati al simbolo locale. |
|
Recupera un flag che indica se la funzione utilizza la convenzione di chiamata personalizzata. |
|
Recupera i byte di dati di un simbolo OEM. |
|
Recupera la classificazione variabile di un simbolo di dati. |
|
Recupera il flag che descrive la funzionalità Modifica e continuazione del programma o dell'unità compilato. |
|
Recupera un flag che indica se la funzione viene utilizzata per un restituita. |
|
Recupera il numero di versione principale front-end. |
|
Recupera il numero di versione secondario front-end. |
|
Recupera il numero di build front-end. |
|
Recupera un flag che indica se il simbolo pubblico fa riferimento a una funzione. |
|
Recupera il GUID del simbolo. |
|
Recupera un flag che indica se la funzione contiene una chiamata a alloca. |
|
Recupera un flag che indica se il tipo di dati definito dall'utente dispone di operatori di assegnazione definito. |
|
Recupera un flag che indica se il tipo di dati definito dall'utente dispone di operatori di cast definito. |
|
Recupera un flag che indica se il modulo contiene le informazioni di debug. |
|
Recupera un flag che indica se la funzione ha gestori di eccezioni C++-style. |
|
Recupera un flag che indica se la funzione ha un gestore eccezioni asincrono. |
|
Recupera un flag che indica se la funzione ha assembly inline. |
|
Recupera un flag che indica se la funzione contiene un comando di longjmp (parte di gestione delle eccezioni di tipo C. |
|
Recupera un flag che indica se il form contiene il codice gestito. |
|
Recupera un flag che indica se il tipo di dati definito dall'utente ha definizioni di tipo annidato. |
|
Recupera un flag che indica se la funzione o il modulo dispone di controlli di sicurezza compilati in (tramite l'opzione del compilatore /GS (Controllo sicurezza buffer) ). |
|
Recupera un flag che indica se la funzione ha gestione delle eccezioni strutturata di tipo win32. |
|
Recupera un flag che indica se la funzione contiene un comando di setjmp. |
|
Recupera un flag che indica se il tipo di dati definito dall'utente è una classe base virtuale indiretta. |
|
Recupera un flag che indica se la funzione è stata contrassegnata con l'attributo inline. |
|
Recupera un flag che indica se la funzione ha un valore dall'istruzione di interruzione. |
|
Recupera un flag che indica se la funzione è la funzione virtuale della classe base. |
|
Recupera un flag che indica se il simbolo corrisponde a una variabile locale condivisa gruppo nel codice compilato per la scelta di AMP C++. |
|
Recupera un flag che indica se il simbolo corrisponde al simbolo del campo di definizione per il componente tag di una variabile puntatore nel codice compilato per la scelta di AMP C++.Il simbolo del campo di definizione è la posizione di una variabile di intervallo di indirizzi. |
|
Indica se il simbolo corrisponde a un simbolo di primo livello di funzione per una shader compilato per una scelta rapida che corrisponde a una chiamata parallel_for_each. |
|
Recupera un flag che indica se i dati sono parte di un aggregato di molti simboli. |
|
Recupera un flag che indica se il file di simboli contiene i tipi C. |
|
Recupera un flag che indica se il modulo è stato convertito in Microsoft Intermediate Language (CIL) comune in codice nativo. |
|
Recupera un flag che indica se gli elementi di un tipo di dati definito dall'utente sono allineati a un limite specifico. |
|
Specifica se il simbolo rappresenta i dati di alto livello (HLSL) di linguaggio di shader. |
|
Recupera un flag che indica se il modulo è stato compilato con l'opzione del compilatore /hotpatch (Crea immagine con funzionalità di patch a caldo). |
|
Recupera un flag che indica se il modulo gestito è stato effettuato con il LTCG del linker. |
|
Specifica se è maggiore della riga. |
|
Recupera un flag che indica se il modulo gestito è.netmodule (che contiene solo metadati). |
|
Specifica se i punti del puntatore this a un membro dati con ereditarietà multipla. |
|
Recupera un flag che indica se la funzione ha l'attributo naked (C++). |
|
Specifica se la variabile è ottimizzata via. |
|
Specifica se il puntatore this è basato su un valore del simbolo. |
|
Specifica se il simbolo è un puntatore a un membro dati. |
|
Specifica se il simbolo è un puntatore a una funzione membro. |
|
Specifica se la variabile porta un valore restituito. |
|
Specifica se il modulo compilato con l'opzione /SDL. |
|
Specifica se i punti del puntatore this a un membro dati con ereditarietà singola. |
|
Recupera un flag che indica se i dati sono stati suddivisi in aggregazione di simboli distinti. |
|
Recupera un flag che indica se una funzione o un livello di thunk è statico. |
|
Recupera un flag che indica se i simboli privati sono stati rimossi dal file di simboli. |
|
Specifica se i punti del puntatore this a un membro dati mediante l'ereditarietà virtuale. |
|
Recupera il linguaggio di origine. |
|
Recupera il numero di byte di memoria utilizzati dall'oggetto rappresentato da questo simbolo. |
|
Recupera un riferimento al padre lessicale del simbolo. |
|
Recupera l'identificatore padre lessicale del simbolo. |
|
Recupera il nome file della libreria o del file oggetto da cui è stato caricato. |
|
Restituisce la lunghezza dell'intervallo di indirizzi in cui il simbolo locale è valido. |
|
Restituisce parte della sezione dell'intervallo di indirizzo iniziale in cui il simbolo locale è valido. |
|
Restituisce parte di offset dell'intervallo di indirizzo iniziale in cui il simbolo locale è valido. |
|
Restituisce l'inizio dell'intervallo di indirizzi in cui il simbolo locale è valido. |
|
Recupera il tipo di posizione del simbolo di dati. |
|
Recupera il limite inferiore di una dimensione della matrice FORTRAN. |
|
Recupera l'identificatore del simbolo del limite inferiore di una dimensione della matrice FORTRAN. |
|
Recupera il tipo di cpu di destinazione. |
|
Recupera un flag che indica se il simbolo si riferisce al codice gestito. |
|
Recupera il tipo dello spazio di memoria. |
|
Recupera un flag che indica se il simbolo si riferisce al codice Microsoft Intermediate Language (MSIL). |
|
Recupera il nome del simbolo. |
|
Recupera un flag che indica se il tipo di dati definito dall'utente è annidato. |
|
Recupera un flag che indica se la funzione contrassegnata con l'attributo noinline. |
|
Recupera un flag che indica se la funzione è stata dichiarata con l'attributo differente. |
|
Recupera un flag che indica se nessun ordine dello stack può essere eseguito come parte del controllo del buffer dello stack. |
|
Recupera un flag che indica se la funzione o non viene raggiunta mai. |
|
Restituisce il numero dei tag del puntatore di scelta rapida nella funzione dello stub di AMP C++. |
|
Recupera il numero dei modificatori che si applicano al tipo originale. |
|
Recupera il numero di indici di log. |
|
Recupera il numero di righe della matrice. |
|
Recupera il numero di colonne nella matrice. |
|
Recupera il nome file dell'oggetto. |
|
Recupera il tipo di puntatore a un oggetto per il metodo della classe. |
|
Recupera il valore oemId del simbolo. |
|
Recupera il valore oemSymbolId del simbolo. |
|
Recuperare l'offset della posizione del simbolo. |
|
Recupera un flag che indica se la funzione o l'etichetta contiene il codice nonché le informazioni di debug ottimizzati. |
|
Recupera un flag che indica se il tipo di dati definito dall'utente ha eseguito l'overload degli operatori. |
|
Recupera un flag che indica se il tipo di dati definito dall'utente è wrapping. |
|
Recupera il tipo di piattaforma per cui il programma o il modulo è stato compilato. |
|
Recupera un flag che indica se è la funzione virtuale pure. |
|
Recupera il numero di dimensioni di una matrice multidimensionale FORTRAN. |
|
Recupera un flag che indica se il tipo di puntatore è un riferimento. |
|
Recupera l'indicatore di log della posizione. |
|
Recupera il tipo di log. |
|
Recupera indirizzo virtuale (RVA) della posizione. |
|
Specifica se il puntatore this è contrassegnato come limitato. |
|
Recupera lo slot della raccolta di test. |
|
Recupera un flag che indica se il tipo di dati definito dall'utente viene visualizzato in un ambito lessicale globali. |
|
Recupera il valore della firma del simbolo. |
|
Recupera la dimensione di un membro di un tipo definito da. |
|
Recupera il numero di slot della posizione. |
|
Recupera il nome del file di origine. |
|
Recupera il file di origine e il numero di riga che indica dove un tipo definito dall'utente specificato non è definito. |
|
Recupera la strada della matrice o della matrice strided. |
|
Recupera il tipo in. |
|
Recupera la sotto digitare ID. |
|
Recupera il nome del file da cui i simboli sono stati caricati. |
|
Recupera l'identificatore univoco del simbolo. |
|
Recupera il classificatore del tipo del simbolo. |
|
Recupera la sezione di offset di una destinazione di thunk. |
|
Recupera indirizzo virtuale relativo (RVA) di una destinazione di thunk. |
|
Recupera la sezione indirizzo di una destinazione di thunk. |
|
Recupera indirizzo virtuale (VA) di una destinazione di thunk. |
|
Recupera lo slot di trama. |
|
Recupera il controller master logico this per il metodo. |
|
Recupera il tipo di thunk di funzione. |
|
Recupera il timestamp del file eseguibile sottostante. |
|
Recupera il token di metadati di una funzione o una variabile gestita. |
|
Recupera un riferimento alla firma della funzione. |
|
Recupera l'identificatore di tipo del simbolo. |
|
Recupera una matrice di valori di tipo compilatore specifici per questo simbolo. |
|
Recupera una matrice di valori compilatore specifici dell'identificatore di tipo per questo simbolo. |
|
Recupera lo slot di uav. |
|
Recupera la varietà di tipo definito dall'utente (UDT). |
|
Recupera un flag che indica se il tipo di dati definito dall'utente non è allineato. |
|
Recupera il nome non decorato per C++ decorato, o il collegamento, nome. |
|
L'estensione del metodo get_undecoratedName che recupera il nome non decorato in base al valore di un campo di estensione. |
|
Recupera l'id del tipo (non) originale. |
|
Recupera il limite superiore della dimensione di una matrice FORTRAN. |
|
Recupera l'identificatore del simbolo del limite superiore della dimensione di una matrice FORTRAN. |
|
Recupera il valore di una costante. |
|
Recupera un flag che indica se la funzione è virtuale. |
|
Recupera indirizzo virtuale (VA) della posizione. |
|
Recupera un flag che indica se il tipo di dati definito dall'utente è una classe base virtuale. |
|
Recupera l'indice alla tabella di navigazione base virtuale. |
|
Recuperare l'offset nella tabella di funzioni virtuali di una funzione virtuale. |
|
Recuperare l'offset del puntatore di base virtuale. |
|
Recupera il tipo di puntatore base virtuale della tabella. |
|
Recupera l'interfaccia del simbolo del tipo di tabella virtuale per un tipo definito dall'utente. |
|
Recupera l'identificatore virtuale di forma della tabella dei simboli. |
|
Recupera un flag che indica se il tipo di dati definito dall'utente è volatile. |
Note
Note per i chiamanti
Leggi questa interfaccia chiamando uno dei metodi seguenti:
Esempio
In questo esempio viene illustrato come visualizzare le variabili locali per una funzione a un indirizzo virtuale relativo specificato.Viene inoltre illustrato come i simboli di diversi tipi correlati tra loro.
[!NOTA]
CDiaBSTR è una classe che esegue il wrapping BSTR e automaticamente handle che libera la stringa durante la creazione di istanze area di validità.
void DumpLocalVars( DWORD rva, IDiaSession *pSession )
{
CComPtr< IDiaSymbol > pBlock;
if ( FAILED( psession->findSymbolByRVA( rva, SymTagBlock, &pBlock ) ) )
{
Fatal( "Failed to find symbols by RVA" );
}
CComPtr< IDiaSymbol > pscope;
for ( ; pBlock != NULL; )
{
CComPtr< IDiaEnumSymbols > pEnum;
// local data search
if ( FAILED( pBlock->findChildren( SymTagNull, NULL, nsNone, &pEnum ) ) )
{
Fatal( "Local scope findChildren failed" );
}
CComPtr< IDiaSymbol > pSymbol;
DWORD tag;
DWORD celt;
while ( pEnum != NULL &&
SUCCEEDED( pEnum->Next( 1, &pSymbol, &celt ) ) &&
celt == 1)
{
pSymbol->get_symTag( &tag );
if ( tag == SymTagData )
{
CDiaBSTR name;
DWORD kind;
pSymbol->get_name( &name );
pSymbol->get_dataKind( &kind );
if ( name != NULL )
wprintf_s( L"\t%s (%s)\n", name, szDataKinds[ kind ] );
}
else if ( tag == SymTagAnnotation )
{
CComPtr< IDiaEnumSymbols > pValues;
// local data search
wprintf_s( L"\tAnnotation:\n" );
if ( FAILED( pSymbol->findChildren( SymTagNull, NULL, nsNone, &pValues ) ) )
Fatal( "Annotation findChildren failed" );
pSymbol = NULL;
while ( pValues != NULL &&
SUCCEEDED( pValues->Next( 1, &pSymbol, &celt ) ) &&
celt == 1 )
{
CComVariant value;
if ( pSymbol->get_value( &value ) != S_OK )
Fatal( "No value for annotation data." );
wprintf_s( L"\t\t%ws\n", value.bstrVal );
pSymbol = NULL;
}
}
pSymbol = NULL;
}
pBlock->get_symTag( &tag );
if ( tag == SymTagFunction ) // stop when at function scope
break;
// move to lexical parent
CComPtr< IDiaSymbol > pParent;
if ( SUCCEEDED( pBlock->get_lexicalParent( &pParent ) )
&& pParent != NULL ) {
pBlock = pParent;
}
else
{
Fatal( "Finding lexical parent failed." );
}
};
}
Requisiti
Header: Dia2.h
Raccolta: diaguids.lib
DLL: msdia80.dll
Vedere anche
Riferimenti
Gerarchia di classi dei tipi di simboli