PEReader.TryOpenAssociatedPortablePdb Metod

Definition

Öppnar en bärbar PDB som är associerad med den här PE-avbildningen.

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

Parametrar

peImagePath
String

Sökvägen till PE-avbildningen. Sökvägen används för att hitta PDB-filen som finns i katalogen som innehåller PE-filen.

pdbFileStreamProvider
Func<String,Stream>

Om det anges anropas för att öppna en Stream för en viss filsökväg. Providern förväntas antingen returnera en läsbar och sökbar Stream, eller null om målfilen inte finns eller bör ignoreras av någon anledning. Providern bör utlösa IOException om den inte kan öppna filen på grund av ett oväntat I/O-fel.

pdbReaderProvider
MetadataReaderProvider

Om det lyckas används en ny instans av MetadataReaderProvider som ska användas för att läsa den bärbara PDB:n.

pdbPath
String

Om det lyckas och PDB hittas i en fil, sökvägen till filen eller null om PDB är inbäddad i SJÄLVA PE-avbildningen.

Returer

trueom PE-avbildningen har en PDB associerad med den och PDB har öppnats. annars . false

Undantag

peImagePath eller pdbFileStreamProvider är null.

Strömmen som returneras från pdbFileStreamProvider stöder inte läs- och sökåtgärder.

Ingen matchande PDB-fil hittades på grund av ett fel: PE-avbildningen eller PDB är ogiltig.

Ingen matchande PDB-fil hittades på grund av ett fel: Ett I/O-fel inträffade när PE-avbildningen eller PDB lästes.

Kommentarer

Den här metoden implementerar en enkel PDB-filsökning baserat på innehållet i PE-avbildningens felsökningskatalog. Ett mer avancerat verktyg kan behöva följa upp med ytterligare sökning på sökvägar eller en symbolserver.

Metoden söker upp PDB i följande ordning:

  1. Söker efter en matchande PDB-fil med namnet som finns i posten CodeView i katalogen som innehåller PE-filen (katalogen peImagePathför ).
  2. Söker efter en PDB som är inbäddad i själva PE-avbildningen.

Den första PDB som matchar den information som anges i felsökningskatalogen returneras.

Gäller för