PEReader.TryOpenAssociatedPortablePdb Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Ouvre un fichier PDB Portable associé à cette image PE.
public:
bool TryOpenAssociatedPortablePdb(System::String ^ peImagePath, Func<System::String ^, System::IO::Stream ^> ^ pdbFileStreamProvider, [Runtime::InteropServices::Out] System::Reflection::Metadata::MetadataReaderProvider ^ % pdbReaderProvider, [Runtime::InteropServices::Out] System::String ^ % pdbPath);
public bool TryOpenAssociatedPortablePdb (string peImagePath, Func<string,System.IO.Stream?> pdbFileStreamProvider, out System.Reflection.Metadata.MetadataReaderProvider? pdbReaderProvider, out string? pdbPath);
public bool TryOpenAssociatedPortablePdb (string peImagePath, Func<string,System.IO.Stream> pdbFileStreamProvider, out System.Reflection.Metadata.MetadataReaderProvider pdbReaderProvider, out string pdbPath);
member this.TryOpenAssociatedPortablePdb : string * Func<string, System.IO.Stream> * MetadataReaderProvider * string -> bool
Public Function TryOpenAssociatedPortablePdb (peImagePath As String, pdbFileStreamProvider As Func(Of String, Stream), ByRef pdbReaderProvider As MetadataReaderProvider, ByRef pdbPath As String) As Boolean
Paramètres
- peImagePath
- String
Chemin de l’image PE. Le chemin est utilisé pour localiser le fichier PDB situé dans le répertoire contenant le fichier PE.
S’il est spécifié, il est appelé pour ouvrir un Stream pour un chemin de fichier donné. Le fournisseur doit retourner un Stream lisible et pouvant être recherché, ou null
si le fichier cible n’existe pas ou s’il doit être ignoré pour une raison quelconque. Le fournisseur doit lever IOException s’il ne parvient pas à ouvrir le fichier en raison d’une erreur d’E/S inattendue.
- pdbReaderProvider
- MetadataReaderProvider
En cas de réussite, une nouvelle instance de MetadataReaderProvider à utiliser pour lire le PDB portable.
- pdbPath
- String
En cas de réussite et si le fichier PDB est trouvé dans un fichier, chemin du fichier, ou null
si le fichier PDB est incorporé dans l’image PE elle-même.
Retours
true
Si un fichier PDB est associé à l’image PE et que ce fichier PDB a été ouvert avec succès ; sinon, false
.
Exceptions
peImagePath
ou pdbFileStreamProvider
est null
.
Le flux retourné par pdbFileStreamProvider
ne prend pas en charge les opérations de lecture et de recherche.
Aucun fichier PDB correspondant n’a été trouvé en raison d’une erreur : l’image PE ou le PDB n’est pas valide.
Aucun fichier PDB correspondant n’a été trouvé en raison d’une erreur : une erreur d’E/S s’est produite lors de la lecture de l’image PE ou du PDB.
Remarques
Cette méthode implémente une recherche de fichier PDB simple basée sur le contenu du répertoire de débogage de l’image PE. Un outil plus sophistiqué peut nécessiter un suivi avec une recherche supplémentaire sur les chemins de recherche ou un serveur de symboles.
La méthode examine la base de données PDB dans l’ordre suivant :
- Recherche un fichier PDB correspondant au nom trouvé dans l’entrée CodeView dans le répertoire contenant le fichier PE (répertoire de
peImagePath
). - Recherche une base de données PDB incorporée dans l’image PE elle-même.
La première PDB qui correspond aux informations spécifiées dans le répertoire de débogage est retournée.