IDiaDataSourceEx::loadDataFromPdbEx
Abre y prepara un archivo de base de datos de programa (.pdb) como origen de datos de depuración con captura previa de registros opcional.
Sintaxis
HRESULT loadDataFromPdbEx (
LPCOLESTR pdbPath,
BOOL fPdbPrefetching
);
Parámetros
pdbPath
[in] La ruta de acceso al archivo .pdb.
fPdbPrefetching
[in] Si se establece TRUE
en , los registros de depuración adyacentes se capturan previamente en la memoria, lo que podría reemplazar muchas operaciones de E/S de archivos más pequeñas con menos operaciones más grandes y, por lo tanto, mejorar el rendimiento general a medida que se accede a esos registros posteriormente, a costa de aumentar potencialmente el uso de memoria. Si se establece en FALSE
, se comporta de forma idéntica a IDiaDataSource::loadDataFromPdb
. Si se establece en algún otro valor, el comportamiento no se especifica.
Valor devuelto
Si la operación se realiza correctamente, devuelve S_OK
; de lo contrario, devuelve un código de error. En la siguiente tabla se muestran los posibles valores devueltos para este método.
Valor | Descripción |
---|---|
E_PDB_NOT_FOUND |
No se pudo abrir el archivo o se determinó que el archivo tiene un formato no válido. |
E_PDB_FORMAT |
Se intentó acceder a un archivo con un formato incompatible o no compatible. |
E_INVALIDARG |
El parámetro no es válido. |
E_UNEXPECTED |
El origen de datos ya se ha preparado. |
Comentarios
Este método carga los datos de depuración directamente desde un archivo .pdb.
Para validar el archivo .pdb con criterios específicos, use el IDiaDataSourceEx::loadAndValidateDataFromPdbEx
método .
Para obtener acceso al proceso de carga de datos (mediante un mecanismo de devolución de llamada), use el IDiaDataSourceEx::loadDataForExeEx
método .
Para cargar un archivo .pdb directamente desde la memoria, use el IDiaDataSourceEx::loadDataFromIStreamEx
método .
Para validar un archivo .pdb sin cargarlo, use el IDiaDataSourceEx::ValidatePdb
método .
Ejemplo
HRESULT hr = pSource->loadDataFromPdbEx( L"myprog.pdb", TRUE );
if (FAILED(hr))
{
// report error
}