Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Ouvre et prépare les données de débogage associées au .exe/.dll fichier.
Syntaxe
HRESULT loadDataFromCodeViewInfo (
LPCOLESTR executable,
LPCOLESTR searchPath,
DWORD cbCvInfo,
BYTE* pbCvInfo,
IUnknown* pCallback
);
Paramètres
exécutable
[in] Chemin d’accès au ou .exe au .dll fichier.
searchPath
[in] Autres chemins d’accès pour rechercher des données de débogage. Plusieurs chemins doivent être délimités par des points-virgules. Les chemins d’accès peuvent contenir un chemin de \fin .
cbCvInfo
[in] Taille en octets du pbCvInfo paramètre.
pbCvInfo
[in] Les autres informations d’affichage du code d’en-tête de débogage (pour remplacer ce qui est normal lu à partir du IMAGE_DEBUG_DIRECTORY de l’exécutable). Seuls les en-têtes RSDS ou NB10 sont pris en charge.
pCallback
[in] Interface IUnknown d’un objet qui prend en charge une interface de rappel de débogage, telle que les IDiaLoadCallbackinterfaces « IDiaLoadCallback2IDiaReadExeAtOffsetCallbackIDiaReadExeAtRVACallback », et/ou « IDiaReadExeAtRVACallback ».
Valeur de retour
Si elle réussit, retourne S_OK; sinon, retourne un code d’erreur. Le tableau suivant présente certains des codes d’erreur possibles pour cette méthode.
| Valeur | Descriptif |
|---|---|
E_PDB_NOT_FOUND |
Impossible d’ouvrir le fichier, ou le fichier a un format non valide. |
E_PDB_FORMAT |
Tentative d’accès à un fichier avec un format non pris en charge. |
E_PDB_INVALID_SIG |
La signature ne correspond pas. |
E_PDB_INVALID_AGE |
L’âge ne correspond pas. |
E_INVALIDARG |
Paramètre non valide. |
E_UNEXPECTED |
La source de données a déjà été préparée. |
Remarques
Les informations d’affichage du code, au IMAGE_DEBUG_TYPE_CODEVIEW format, nomment l’emplacement de données de débogage associé, ainsi que les champs de signature et d’âge à mettre en correspondance.
Si vous chargez des données de débogage à partir d’un serveur de symboles, symsrv.dll devez être présent dans le même répertoire où l’application de l’utilisateur ou msdia140.dll est installé, ou il doit être présent dans le répertoire système.
Cette méthode lit l’en-tête de débogage fourni, puis recherche et prépare les données de débogage. La progression de la recherche peut éventuellement être signalée et contrôlée par le biais de rappels. Par exemple, il IDiaLoadCallback::NotifyDebugDir est appelé lorsque la IDiaDataSource::loadDataForExe méthode recherche et traite un répertoire de débogage.
Les IDiaReadExeAtOffsetCallback interfaces permettent IDiaReadExeAtRVACallback à l’application cliente de fournir d’autres méthodes pour lire les données à partir du fichier exécutable lorsque le fichier ne peut pas être accessible directement via les E/S de fichier standard.
Pour charger un .pdb fichier sans validation, utilisez la IDiaDataSource::loadDataFromPdb méthode.
Pour valider le fichier .pdb par rapport à des critères spécifiques, utilisez la IDiaDataSource::loadAndValidateDataFromPdb méthode.
Pour charger un fichier .pdb directement à partir de la mémoire, utilisez la IDiaDataSource::loadDataFromIStream méthode.
Pour valider un fichier .pdb sans le charger, utilisez la méthode IDiaDataSourceEx ::ValidatePdb .
Exemple :
BYTE pbCodeViewInfo[] = {
...
};
HRESULT hr = pSource->loadDataFromCodeViewInfo( L"myprog.exe", L".\debug", sizeof(pbCodeViewInfo), pbCodeViewInfo, nullptr);
if (FAILED(hr))
{
// Report error
}