PEReader.TryOpenAssociatedPortablePdb Metoda

Definice

Otevře přenosný soubor PDB přidružený k tomuto obrázku 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

Parametry

peImagePath
String

Cesta k imagi PE. Cesta slouží k vyhledání souboru PDB umístěného v adresáři obsahujícím soubor PE.

pdbFileStreamProvider
Func<String,Stream>

Pokud je zadáno, zavolá se k otevření pro danou Stream cestu k souboru. Poskytovatel by měl buď vrátit čitelný a vyhledatelný Streamsoubor, nebo null pokud cílový soubor neexistuje nebo by se z nějakého důvodu měl ignorovat. Poskytovatel by se měl vyvolat IOException , pokud soubor neotevře kvůli neočekávané chybě vstupně-výstupní operace.

pdbReaderProvider
MetadataReaderProvider

V případě úspěchu bude použita nová instance MetadataReaderProvider ke čtení přenosného souboru PDB.

pdbPath
String

Pokud je soubor úspěšný a soubor PDB se nachází v souboru, cesta k souboru nebo null pokud je soubor PDB vložený do samotného obrázku PE.

Návraty

truepokud je k bitové kopii PE přidružena pdB a pdB byla úspěšně otevřena; v opačném případě . false

Výjimky

peImagePath nebo pdbFileStreamProvider je null.

Stream vrácený ze pdbFileStreamProvider služby nepodporuje operace čtení a hledání.

Kvůli chybě nebyl nalezen žádný odpovídající soubor PDB: Obrázek PE nebo PDB je neplatný.

Z důvodu chyby se nenašl žádný odpovídající soubor PDB: Při čtení obrázku PE nebo PDB došlo k chybě vstupně-výstupních operací.

Poznámky

Tato metoda implementuje jednoduché vyhledávání souborů PDB na základě obsahu ladicího adresáře obrázku PE. Sofistikovanější nástroj může potřebovat zpracovat další vyhledávání na cestách hledání nebo na serveru symbolů.

Metoda hledá pdB v následujícím pořadí:

  1. Vyhledá odpovídající soubor PDB názvu nalezeného v položce CodeView v adresáři obsahujícím soubor PE (adresář peImagePath).
  2. Kontroluje soubor PDB vložený do samotné image PE.

Vrátí se první soubor PDB, který odpovídá informacím zadaným v ladicím adresáři.

Platí pro