Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Abre y prepara los datos de depuración asociados al .exe/.dll archivo.
Sintaxis
HRESULT loadDataFromCodeViewInfo (
LPCOLESTR executable,
LPCOLESTR searchPath,
DWORD cbCvInfo,
BYTE* pbCvInfo,
IUnknown* pCallback
);
Parámetros
ejecutable
[in] Ruta de acceso al .exe archivo o .dll .
searchPath
[in] Rutas de acceso alternativas para buscar datos de depuración. Varias rutas de acceso deben estar delimitadas por punto y coma. Las rutas de acceso pueden contener un final \.
cbCvInfo
[in] Tamaño en bytes del pbCvInfo parámetro.
pbCvInfo
[in] La información alternativa de la vista de código de encabezado de depuración (para reemplazar lo que se lee normalmente de la IMAGE_DEBUG_DIRECTORY del ejecutable). Solo se admiten encabezados RSDS o NB10.
pCallback
[in] Interfaz IUnknown de un objeto que admite una interfaz de devolución de llamada de depuración, como IDiaLoadCallback, IDiaLoadCallback2, o IDiaReadExeAtOffsetCallbacklas interfaces "IDiaReadExeAtRVACallback ".
Valor devuelto
Si se ejecuta correctamente, devuelve S_OK; de lo contrario, devuelve un código de error. En la tabla siguiente se muestran algunos de los posibles códigos de error para este método.
| Importancia | Descripción |
|---|---|
E_PDB_NOT_FOUND |
No se pudo abrir el archivo o el archivo tiene un formato no válido. |
E_PDB_FORMAT |
Se intentó acceder a un archivo con un formato no admitido. |
E_PDB_INVALID_SIG |
La firma no coincide. |
E_PDB_INVALID_AGE |
La edad no coincide. |
E_INVALIDARG |
Parámetro no válido. |
E_UNEXPECTED |
El origen de datos ya se ha preparado. |
Observaciones
La información de la vista de código, en IMAGE_DEBUG_TYPE_CODEVIEW formato, asigna un nombre a la ubicación de datos de depuración asociada, así como a proporcionar los campos de signo y antigüedad con los que debe coincidir.
Si va a cargar datos de depuración desde un servidor de símbolos, symsrv.dll debe estar presente en el mismo directorio donde está instalada la aplicación del usuario o msdia140.dll , o debe estar presente en el directorio del sistema.
Este método lee el encabezado de depuración proporcionado y, a continuación, busca y prepara los datos de depuración. El progreso de la búsqueda puede, opcionalmente, notificarse y controlarse mediante devoluciones de llamada. Por ejemplo, IDiaLoadCallback::NotifyDebugDir se invoca cuando el IDiaDataSource::loadDataForExe método busca y procesa un directorio de depuración.
Las IDiaReadExeAtOffsetCallback interfaces y IDiaReadExeAtRVACallback permiten a la aplicación cliente proporcionar métodos alternativos para leer datos del archivo ejecutable cuando no se puede acceder al archivo directamente a través de la E/S de archivo estándar.
Para cargar un .pdb archivo sin validación, use el IDiaDataSource::loadDataFromPdb método .
Para validar el archivo .pdb con criterios específicos, use el IDiaDataSource::loadAndValidateDataFromPdb método .
Para cargar un archivo .pdb directamente desde la memoria, use el IDiaDataSource::loadDataFromIStream método .
Para validar un archivo .pdb sin cargarlo, use el método IDiaDataSourceEx::ValidatePdb' .
Ejemplo
BYTE pbCodeViewInfo[] = {
...
};
HRESULT hr = pSource->loadDataFromCodeViewInfo( L"myprog.exe", L".\debug", sizeof(pbCodeViewInfo), pbCodeViewInfo, nullptr);
if (FAILED(hr))
{
// Report error
}