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-файл.
Если задано, вызывается, чтобы открыть 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 в следующем порядке:
- Проверяет наличие соответствующего PDB-файла имени, найденного в записи CodeView в каталоге, содержащего PE-файл (каталог
peImagePath). - Проверяет наличие PDB, внедренного в сам образ PE.
Возвращается первый PDB, соответствующий сведениям, указанным в каталоге отладки.