PEReader.TryOpenAssociatedPortablePdb Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Abre um PDB portátil associado a esta imagem 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
Parâmetros
- peImagePath
- String
O caminho para a imagem PE. O caminho é usado para localizar o arquivo PDB localizado no diretório que contém o arquivo PE.
Se especificado, é chamado para abrir um Stream para o caminho de arquivo determinado. O provedor deverá retornar um Stream legível e pesquisável ou null
se o arquivo de destino não existir ou precisar ser ignorado por algum motivo. O provedor deverá gerar IOException se não for possível abrir o arquivo devido a um erro de E/S inesperado.
- pdbReaderProvider
- MetadataReaderProvider
Se tiver êxito, uma nova instância de MetadataReaderProvider a ser usada para ler o PDB portátil.
- pdbPath
- String
Se for bem-sucedido e o PDB for encontrado em um arquivo, o caminho para o arquivo ou null
se o PDB for inserido na própria imagem PE.
Retornos
true
se a imagem PE tiver um PDB associado a ela e o PDB tiver sido aberto com êxito; caso contrário, false
.
Exceções
peImagePath
ou pdbFileStreamProvider
é null
.
O fluxo retornado de pdbFileStreamProvider
não é compatível com as operações de leitura e busca.
Nenhum arquivo PDB correspondente foi encontrado devido a um erro: a imagem PE ou o PDB é inválido.
Nenhum arquivo PDB correspondente foi encontrado devido a um erro: ocorreu um erro de E/S ao ler a imagem PE ou o PDB.
Comentários
Esse método implementa uma pesquisa de arquivo PDB simples com base no conteúdo do Diretório de Depuração da imagem PE. Uma ferramenta mais sofisticada pode precisar acompanhar com pesquisa adicional em caminhos de pesquisa ou um servidor de símbolos.
O método procura o PDB na seguinte ordem:
- Verifica se há um arquivo PDB correspondente do nome encontrado na entrada CodeView no diretório que contém o arquivo PE (o diretório de
peImagePath
). - Verifica se há um PDB inserido na própria imagem PE.
O primeiro PDB que corresponde às informações especificadas no Diretório de Depuração é retornado.