PEReader.TryOpenAssociatedPortablePdb Метод

Определение

Открывает переносимую PDB, связанную с этим изображением 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

Параметры

peImagePath
String

Путь к изображению PE. Путь используется для поиска PDB-файла, расположенного в каталоге, содержащем PE-файл.

pdbFileStreamProvider
Func<String,Stream>

Если задано, вызывается, чтобы открыть Stream путь к заданному файлу. Ожидается, что поставщик возвращает доступный для чтения и поиска Streamфайл или null если целевой файл не существует или должен игнорироваться по какой-либо причине. Поставщик должен вызвать IOException , если файл не удается открыть из-за непредвиденной ошибки ввода-вывода.

pdbReaderProvider
MetadataReaderProvider

При успешном выполнении новый экземпляр, используемый MetadataReaderProvider для чтения переносимого PDB.

pdbPath
String

При успешном выполнении и PDB находится в файле, пути к файлу или null если PDB внедрен в сам образ PE.

Возвращаемое значение

true Значение , если образ PE связан с ним и PDB успешно открыт; falseв противном случае .

Исключения

peImagePath или pdbFileStreamProvider есть null.

Поток, возвращаемый из pdbFileStreamProvider не поддерживает операции чтения и поиска.

Не удалось найти соответствующий PDB-файл из-за ошибки: изображение PE или PDB недопустимо.

Не удалось найти соответствующий PDB-файл из-за ошибки: при чтении образа PE или PDB произошла ошибка ввода-вывода.

Комментарии

Этот метод реализует простой поиск PDB-файла на основе содержимого каталога отладки образа PE. Более сложное средство может потребоваться выполнить дополнительные поиски по путям поиска или серверу символов.

Метод выглядит как PDB в следующем порядке:

  1. Проверяет наличие соответствующего PDB-файла имени, найденного в записи CodeView в каталоге, содержащего PE-файл (каталог peImagePath).
  2. Проверяет наличие PDB, внедренного в сам образ PE.

Возвращается первый PDB, соответствующий сведениям, указанным в каталоге отладки.

Применяется к