PEReader.TryOpenAssociatedPortablePdb Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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 do PE. O caminho é usado para localizar o ficheiro PDB localizado no diretório que contém o ficheiro PE.
Se especificado, chama para abrir a Stream para um dado caminho de ficheiro. Espera-se que o fornecedor devolva um ficheiro legível e procurável Stream, ou null se o ficheiro de destino não existir ou deve ser ignorado por algum motivo. O fornecedor deve lançar IOException se não conseguir abrir o ficheiro devido a um erro inesperado de IO.
- pdbReaderProvider
- MetadataReaderProvider
Se for bem-sucedido, 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 num ficheiro, o caminho para o ficheiro, ou null se o PDB estiver embutido na própria imagem PE.
Devoluções
true se a imagem PE tiver um PDB associado e o PDB tiver sido aberto com sucesso; caso contrário, false.
Exceções
peImagePath ou pdbFileStreamProvider é null.
O fluxo que pdbFileStreamProvider retornou não suporta operações de leitura e procura.
Não foi encontrado nenhum ficheiro PDB correspondente devido a um erro: a imagem PE ou o PDB são inválidos.
Não foi encontrado nenhum ficheiro PDB correspondente devido a um erro: ocorreu um erro de IO ao ler a imagem PE ou o PDB.
Observações
Este método implementa uma simples pesquisa de ficheiro PDB baseada no conteúdo do Diretório de Depuração da imagem PE. Uma ferramenta mais sofisticada pode precisar de seguir com pesquisas adicionais em rotas de pesquisa ou um servidor de símbolos.
O método procura o PDB pela seguinte ordem:
- Verifica se existe um ficheiro PDB correspondente com o nome encontrado na entrada CodeView no diretório que contém o ficheiro PE (o diretório de
peImagePath). - Verifica se existe um PDB embutido na própria imagem PE.
O primeiro PDB que corresponde à informação especificada no Diretório de Depuração é devolvido.