IDiaSession
Proporciona un contexto de consulta para los símbolos de depuración.
Sintaxis
IDiaSession : IUnknown
Métodos
En la tabla siguiente se muestran los métodos de IDiaSession
.
Método | Descripción |
---|---|
IDiaSession::get_loadAddress |
Recupera la dirección de carga del archivo ejecutable que corresponde a los símbolos de este almacén de símbolos. Este es el mismo valor que se pasó al método put_loadAddress . |
IDiaSession::put_loadAddress |
Establece la dirección de carga del archivo ejecutable que corresponde a los símbolos de este almacén de símbolos.
Nota: Es importante llamar a este método al obtener un objeto IDiaSession y antes de empezar a usar el objeto . |
IDiaSession::get_globalScope |
Recupera una referencia al ámbito global. |
IDiaSession::getEnumTables |
Recupera un enumerador para todas las tablas contenidas en el almacén de símbolos. |
IDiaSession::getSymbolsByAddr |
Recupera un enumerador para todos los símbolos con nombre en ubicaciones estáticas. |
IDiaSession::findChildren |
Recupera todos los elementos secundarios de un identificador primario especificado que coinciden con el nombre y el tipo de símbolo. |
IDiaSession::findChildrenEx |
Recupera todos los elementos secundarios de un identificador primario especificado que coinciden con el nombre y el tipo de símbolo, incluidas las variables locales optimizadas. |
IDiaSession::findChildrenExByAddr |
Recupera todos los elementos secundarios de un identificador primario especificado que coinciden con el nombre y el tipo de símbolo, incluidas las variables locales optimizadas, que contienen o están más cercanas a una dirección especificada. |
IDiaSession::findChildrenExByVA |
Recupera todos los elementos secundarios de un identificador primario especificado que coinciden con el nombre y el tipo de símbolo, incluidas las variables locales optimizadas, que contienen o están más cercanas a una dirección virtual especificada (VA). |
IDiaSession::findChildrenExByRVA |
Recupera todos los elementos secundarios de un identificador primario especificado que coinciden con el nombre y el tipo de símbolo, incluidas las variables locales optimizadas, que contienen o están más cercanas a, una dirección virtual relativa especificada (RVA). |
IDiaSession::findSymbolByAddr |
Recupera un tipo de símbolo especificado que contiene o está más cercano a una dirección especificada. |
IDiaSession::findSymbolByRVA |
Recupera un tipo de símbolo especificado que contiene o está más cercano a una dirección virtual relativa especificada (RVA). |
IDiaSession::findSymbolByVA |
Recupera un tipo de símbolo especificado que contiene o está más cercano a una dirección virtual especificada (VA). |
IDiaSession::findSymbolByToken |
Recupera el símbolo que contiene un token de metadatos especificado. |
IDiaSession::symsAreEquiv |
Comprueba si dos símbolos son equivalentes. |
IDiaSession::symbolById |
Recupera un símbolo por su identificador único. |
IDiaSession::findSymbolByRVAEx |
Recupera un tipo de símbolo especificado que contiene, o está más cercano, una dirección virtual relativa y un desplazamiento especificados. |
IDiaSession::findSymbolByVAEx |
Recupera un tipo de símbolo especificado que contiene, o está más cercano, una dirección virtual y un desplazamiento especificados. |
IDiaSession::findFile |
Recupera un archivo de origen por compilado y nombre. |
IDiaSession::findFileById |
Recupera un archivo de origen por identificador de archivo de origen. |
IDiaSession::findLines |
Recupera números de línea dentro de un identificador de archivo de código fuente y compilado especificado. |
IDiaSession::findLinesByAddr |
Recupera las líneas de un compilado especificado que contiene una dirección especificada. |
IDiaSession::findLinesByRVA |
Recupera las líneas de un compilado especificado que contiene una dirección virtual relativa especificada. |
IDiaSession::findLinesByVA |
Busca la información del número de línea de las líneas contenidas en un intervalo de direcciones especificado. |
IDiaSession::findLinesByLinenum |
Recupera las líneas de un compilado especificado por el archivo de origen y el número de línea. |
IDiaSession::findInjectedSource |
Recupera un origen que se ha colocado en el almacén de símbolos por proveedores de atributos u otros componentes del proceso de compilación. |
IDiaSession::getEnumDebugStreams |
Recupera una secuencia enumerada de flujos de datos de depuración. |
IDiaSession::findInlineFramesByAddr |
Recupera una enumeración que permite a un cliente recorrer en iteración todos los fotogramas insertados en una dirección determinada. |
IDiaSession::findInlineFramesByRVA |
Recupera una enumeración que permite a un cliente recorrer en iteración todos los fotogramas insertados en una dirección virtual relativa especificada (RVA). |
IDiaSession::findInlineFramesByVA |
Recupera una enumeración que permite a un cliente recorrer en iteración todos los fotogramas insertados en una dirección virtual especificada (VA). |
IDiaSession::findInlineeLines |
Recupera una enumeración que permite a un cliente recorrer en iteración la información de número de línea de todas las funciones insertadas, directa o indirectamente, por el símbolo primario especificado. |
IDiaSession::findInlineeLinesByAddr |
Recupera una enumeración que permite a un cliente recorrer en iteración la información de número de línea de todas las funciones insertadas, directa o indirectamente, por el símbolo primario especificado y que se encuentran dentro del intervalo de direcciones especificado. |
IDiaSession::findInlineeLinesByRVA |
Recupera una enumeración que permite a un cliente recorrer en iteración la información de número de línea de todas las funciones insertadas, directa o indirectamente, por el símbolo primario especificado y que se encuentran dentro de la dirección virtual relativa especificada (RVA). |
IDiaSession::findInlineeLinesByVA |
Recupera una enumeración que permite a un cliente recorrer en iteración la información de número de línea de todas las funciones insertadas, directa o indirectamente, por el símbolo primario especificado y que se encuentran dentro de la dirección virtual especificada (VA). |
IDiaSession::findInlineeLinesByLinenum |
Recupera una enumeración que permite a un cliente recorrer en iteración la información de número de línea de todas las funciones insertadas, directa o indirectamente, en el archivo de origen y el número de línea especificados. |
IDiaSession::findInlineesByName |
Recupera una enumeración que permite a un cliente recorrer en iteración la información de número de línea de todas las funciones insertadas que coinciden con un nombre especificado. |
IDiaSession::findAcceleratorInlineesByLinenum |
Devuelve una enumeración de símbolos para fotogramas insertados que corresponden a la ubicación de origen especificada. |
IDiaSession::findSymbolsForAcceleratorPointerTag |
Devuelve una enumeración de símbolos para la variable a la que corresponde el valor de etiqueta especificado en la función de código auxiliar del acelerador primario. |
IDiaSession::findSymbolsByRVAForAcceleratorPointerTag |
Dado un valor de etiqueta correspondiente, este método devuelve una enumeración de símbolos contenidos en una función de código auxiliar del acelerador primario especificada en una dirección virtual relativa especificada. |
IDiaSession::findAcceleratorInlineesByName |
Devuelve una enumeración de símbolos para fotogramas insertados correspondientes al nombre de función insertado especificado. |
IDiaSession::addressForVA |
Devuelve la dirección equivalente para la dirección virtual especificada (VA). |
IDiaSession::addressForRVA |
Devuelve la dirección equivalente para la dirección virtual relativa especificada (RVA). |
IDiaSession::findILOffsetsByAddr |
Recupera una enumeración que permite a un cliente recorrer en iteración los desplazamientos de MSIL dentro de un intervalo de direcciones especificado. |
IDiaSession::findILOffsetsByRVA |
Recupera una enumeración que permite a un cliente recorrer en iteración los desplazamientos de MSIL dentro de un intervalo de direcciones virtuales relativas (RVA) especificado. |
IDiaSession::findILOffsetsByVA |
Recupera una enumeración que permite a un cliente recorrer en iteración los desplazamientos de MSIL dentro de un intervalo de direcciones virtuales (VA) especificado. |
IDiaSession::findInputAssemblyFiles |
Recupera una enumeración que permite a un cliente recorrer en iteración los archivos de ensamblado de entrada nativos de .NET. |
IDiaSession::findInputAssembly |
Recupera un archivo de ensamblado de entrada nativo de .NET por índice. |
IDiaSession::findInputAssemblyById |
Recupera el archivo de ensamblado de entrada nativo de .NET por identificador único. |
IDiaSession::getFuncMDTokenMapSize |
Recupera el tamaño, en bytes, del mapa de tokens de la función de metadatos nativos de .NET. |
IDiaSession::getFuncMDTokenMap |
Recupera el contenido del mapa de tokens de la función de metadatos nativos de .NET. |
IDiaSession::getTypeMDTokenMapSize |
Recupera el tamaño, en bytes, de la asignación de tokens de tipo de metadatos nativo de .NET. |
IDiaSession::getTypeMDTokenMap |
Recupera el contenido de la asignación de tokens de tipo de metadatos nativos de .NET. |
IDiaSession::getNumberOfFunctionFragments_VA |
Recupera el número de fragmentos no ambiguos de la función en la dirección virtual especificada (VA). |
IDiaSession::getNumberOfFunctionFragments_RVA |
Recupera el número de fragmentos desconcertantes de la función en la dirección virtual relativa especificada (RVA). |
IDiaSession::getFunctionFragments_VA |
Recupera las direcciones y longitudes de fragmentos no ambiguos de la función en la dirección virtual especificada (VA). |
IDiaSession::getFunctionFragments_RVA |
Recupera las direcciones y longitudes de fragmentos no ambiguos de la función en la dirección virtual relativa especificada (RVA). |
IDiaSession::getExports |
Recupera un enumerador para todos los símbolos exportados. |
IDiaSession::getHeapAllocationSites |
Recupera un enumerador para todos los símbolos de SymTagHeapAllocationSite . |
IDiaSession::findInputAssemblyFile |
Recupera el archivo de ensamblado de entrada nativo de .NET que es el elemento primario del símbolo especificado. |
Observaciones
Es importante llamar al método IDiaSession::put_loadAddress
después de crear el objeto IDiaSession
y el valor pasado al método put_loadAddress
debe ser distinto de cero, para que se pueda acceder a las propiedades de dirección virtual (VA) de los símbolos. La dirección de carga procede de cualquier programa que haya cargado el archivo ejecutable que se está depurando. Por ejemplo, puede llamar a la función Win32 GetModuleInformation
para recuperar la dirección de carga del archivo ejecutable, dado un identificador al ejecutable.
Ejemplo
En este ejemplo se muestra cómo obtener la interfaz IDiaSession
como parte de una inicialización general del SDK de acceso a la interfaz de depuración (DIA).
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" );
}
}
Requisitos
Encabezado: Dia2.h
Biblioteca: diaguids.lib
DLL: msdia80.dll
Consulte también
- interfaces de (SDK de acceso a interfaz de depuración)
- información general
- Exe
IDiaAddressMap
IDiaDataSource
IDiaDataSource::openSession
IDiaSymbol::findChildren
- Consulta de . de archivos Pdb