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 essa 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 determinado caminho de arquivo. Espera-se que o provedor retorne um arquivo legível e pesquisável Streamou null se o arquivo de destino não existir ou deve ser ignorado por algum motivo. O provedor deverá ser lançado IOException se não abrir o arquivo devido a um erro de E/S inesperado.
- pdbReaderProvider
- MetadataReaderProvider
Se bem-sucedido, uma nova instância a MetadataReaderProvider 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 estiver 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 não dá suporte a operações de pdbFileStreamProvider 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 em 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 ).
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.