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.
Fornisce un contesto di query per i simboli di debug.
IDiaSession : IUnknown
Metodi
Nella tabella seguente sono elencati i metodi IDiaSession.
Metodo |
Descrizione |
|---|---|
Viene recuperato l'indirizzo di caricamento del file eseguibile che corrisponde ai simboli nell'archivio simboli.Si tratta dello stesso valore passato al metodo put_loadAddress. |
|
Imposta l'indirizzo di caricamento del file eseguibile che corrisponde ai simboli nell'archivio simboli. Nota
È importante chiamare questo metodo quando si ottiene un oggetto IDiaSession e prima di iniziare utilizzando l'oggetto.
|
|
Recupera un riferimento all'ambito globale. |
|
Recupera un enumeratore per tutte le tabelle contenute nell'archivio simboli. |
|
Recupera un enumeratore per tutti i simboli denominati le posizioni statiche. |
|
Recupera tutti gli elementi figlio di un identificatore padre specificato che corrispondono al nome e il tipo del simbolo. |
|
Recupera un tipo specifico di simboli che contiene, o è il più vicino a, un indirizzo specificato. |
|
Recupera un tipo specifico di simboli che contiene, o è il più vicino a, un indirizzo virtuale relativo specificato (RVA). |
|
Recupera un tipo specifico di simboli che contiene, o è il più vicino a, un indirizzo virtuale specificato (VA). |
|
Recupera il simbolo che contiene un token di metadati specificato. |
|
Verifica se due simboli sono equivalenti. |
|
Recupera un simbolo dal relativo identificatore univoco. |
|
Recupera un tipo specifico di simboli che contiene, o è il più vicino a, un indirizzo virtuale e un offset di specificati. |
|
Recupera un tipo specifico di simboli che contiene, o è il più vicino a, un indirizzo virtuale e un offset specificati. |
|
Recupera un file di origine da modulo e dal nome. |
|
Recupera un file di origine dall'identificatore di file di origine. |
|
Recupera i numeri di riga all'interno di un identificatore specificato di file di origine e del modulo. |
|
Recupera le righe in un modulo specificato contenente un indirizzo specificato. |
|
Recupera le righe in un modulo specificato contenente un indirizzo virtuale relativo specificato. |
|
Cercare le informazioni sul numero di riga per le righe contenute in un intervallo di indirizzi specificato. |
|
Recupera le righe in un modulo specificato dal file di origine e il numero di riga. |
|
Recupera un database di origine inserito nell'archivio simboli dai provider di attributo o da altri componenti del processo di compilazione. |
|
Recupera una sequenza enumerata di flussi di dati di debug. |
|
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, dal simbolo padre 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, dal simbolo padre specificato e contenuta 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, dal simbolo padre specificato e che è contenuto all'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, dal simbolo padre specificato e che è contenuto all'interno dell'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, nel file di origine e il numero di riga specificato. |
|
Recupera un'enumerazione che consente a un client scorrere le informazioni sul numero di riga di tutte le funzioni inline che corrispondono a un nome specificato. |
|
Restituisce un'enumerazione dei simboli per la variabile che il valore specificato di tag corrisponde alla funzione padre stub dei tasti di scelta rapida. |
|
Dato un valore corrispondente tag, questo metodo restituisce un'enumerazione di simboli contenuti in una funzione padre specificata di uno stub di scelta rapida a un indirizzo virtuale relativo specificato. |
|
Restituisce un'enumerazione di simboli per i frame inline che corrispondono al nome di funzione inline specificato. |
|
Restituisce un'enumerazione di simboli per i frame inline che corrispondono alla posizione di origine specificata. |
Note
È importante chiamare il metodo IDiaSession::put_loadAddress dopo aver creato l'oggetto IDiaSession e il valore passato al metodo put_loadAddress deve essere diverso da zero a per tutte le proprietà (VA) di indirizzo virtuale di simboli per consentire l'accesso.L'indirizzo del caricamento avrà da qualsiasi programma caricato l'eseguibile che viene eseguito il debug.Ad esempio, è possibile chiamare la funzione Win32 GetModuleInformation per recuperare l'indirizzo di caricamento dell'eseguibile, dato un handleeseguibile.
Esempio
In questo esempio viene illustrato come ottenere l'interfaccia IDiaSession come parte di un'inizializzazione generale di esaminare SDK.
CComPtr<IDiaDataSource> pSource;
ComPtr<IDiaSession> psession;
void InitializeDIA(const char *szFilename)
{
HRESULT hr = CoCreateInstance( CLSID_DiaSource,
NULL,
CLSCTX_INPROC_SERVER,
__uuidof( IDiaDataSource ),
(void **) &pSource);
if (FAILED(hr))
{
Fatal("Could not CoCreate CLSID_DiaSource. Register msdia80.dll." );
}
wchar_t wszFilename[ _MAX_PATH ];
mbstowcs( wszFilename,
szFilename,
sizeof( wszFilename )/sizeof( wszFilename[0] ) );
if ( FAILED( pSource->loadDataFromPdb( wszFilename ) ) )
{
if ( FAILED( pSource->loadDataForExe( wszFilename, NULL, NULL ) ) )
{
Fatal( "loadDataFromPdb/Exe" );
}
}
if ( FAILED( pSource->openSession( &psession ) ) )
{
Fatal( "openSession" );
}
}
Requisiti
Intestazione: Dia2.h
Raccolta: diaguids.lib
DLL: msdia80.dll
Vedere anche
Attività
Esecuzione di query sul file .Pdb
Nota