PEReader.TryOpenAssociatedPortablePdb Metoda

Definicja

Otwiera przenośny plik PDB skojarzony z tym obrazem 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

Ścieżka do obrazu PE. Ścieżka służy do lokalizowania pliku PDB znajdującego się w katalogu zawierającym plik PE.

pdbFileStreamProvider
Func<String,Stream>

Jeśli zostanie określona, wywołana w celu otwarcia Stream elementu dla danej ścieżki pliku. Oczekuje się, że dostawca zwróci czytelny i możliwy do Streamwyszukiwania , lub null jeśli plik docelowy nie istnieje lub powinien zostać zignorowany z jakiegoś powodu. Dostawca powinien zgłosić błąd IOException , jeśli nie można otworzyć pliku z powodu nieoczekiwanego błędu we/wy.

pdbReaderProvider
MetadataReaderProvider

W przypadku pomyślnego odczytania przenośnego MetadataReaderProvider pliku PDB zostanie użyte nowe wystąpienie.

pdbPath
String

Jeśli plik PDB zostanie znaleziony w pliku, ścieżka do pliku lub null jeśli plik PDB jest osadzony w samym obrazie PE.

Zwraca

true jeśli obraz PE ma skojarzony z nim plik PDB i plik PDB został pomyślnie otwarty; w przeciwnym razie , false.

Wyjątki

peImagePath lub pdbFileStreamProvider ma wartość null.

Strumień zwrócony z pdbFileStreamProvider elementu nie obsługuje operacji odczytu i wyszukiwania.

Nie znaleziono pasującego pliku PDB z powodu błędu: obraz PE lub plik PDB jest nieprawidłowy.

Nie znaleziono pasującego pliku PDB z powodu błędu: Wystąpił błąd we/wy podczas odczytywania obrazu PE lub pliku PDB.

Uwagi

Ta metoda implementuje proste wyszukiwanie plików PDB na podstawie zawartości katalogu debugowania obrazu PE. Bardziej zaawansowane narzędzie może wymagać dodatkowego wyszukiwania ścieżek wyszukiwania lub serwera symboli.

Metoda wyszukuje plik PDB w następującej kolejności:

  1. Sprawdza pasujący plik PDB nazwy znalezionej we wpisie CodeView w katalogu zawierającym plik PE (katalog peImagePath).
  2. Sprawdza, czy plik PDB jest osadzony w samym obrazie PE.

Zwracany jest pierwszy plik PDB zgodny z informacjami określonymi w katalogu debugowania.

Dotyczy