PEReader.TryOpenAssociatedPortablePdb Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Apre un PDB portatile associato a questa immagine 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
Parametri
- peImagePath
- String
Percorso dell'immagine PE. Il percorso viene usato per individuare il file PDB che si trova nella directory contenente il file PE.
Se specificato, viene chiamato per aprire un Stream per un percorso di file specificato. Si prevede che il provider restituisca un Stream leggibile e ricercabile oppure null
se il file di destinazione non esiste o deve essere ignorato per qualche motivo. Il provider deve generare IOException se non riesce ad aprire il file a causa di un errore di I/O imprevisto.
- pdbReaderProvider
- MetadataReaderProvider
In caso di esito positivo, viene usata una nuova istanza di MetadataReaderProvider da usare per leggere il PDB portabile.
- pdbPath
- String
Se l'operazione ha esito positivo e il PDB viene trovato in un file, il percorso del file o null
se il PDB è incorporato nell'immagine PE.
Restituisce
true
se all'immagine PE è associato un PDB e il PDB è stato aperto correttamente; in caso contrario, false
.
Eccezioni
peImagePath
o pdbFileStreamProvider
è null
.
Il flusso restituito da pdbFileStreamProvider
non supporta le operazioni di lettura e ricerca.
Non è stato trovato alcun file PDB corrispondente a causa di un errore: l'immagine PE o il PDB non è valido.
Non è stato trovato alcun file PDB corrispondente a causa di un errore: si è verificato un errore di I/O durante la lettura dell'immagine PE o del PDB.
Commenti
Questo metodo implementa una semplice ricerca di file PDB in base al contenuto della directory di debug dell'immagine PE. Uno strumento più sofisticato potrebbe dover eseguire il completamento con ricerche aggiuntive sui percorsi di ricerca o su un server di simboli.
Il metodo ha l'aspetto del database PDB nell'ordine seguente:
- Verifica la presenza di un file PDB corrispondente del nome trovato nella voce CodeView nella directory contenente il file PE (directory di
peImagePath
). - Verifica la presenza di un database PDB incorporato nell'immagine PE stessa.
Viene restituito il primo PDB che corrisponde alle informazioni specificate nella directory di debug.