Partager via


PEReader.TryOpenAssociatedPortablePdb Méthode

Définition

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.

pdbFileStreamProvider
Func<String,Stream>

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 :

  1. 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).
  2. 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.

S’applique à