PEReader.TryOpenAssociatedPortablePdb Método

Definición

Abre un archivo PDB portable asociado a esta imagen de 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

La ruta de acceso a la imagen de PE. La ruta de acceso se usa para buscar el archivo PDB ubicado en el directorio que contiene el archivo PE.

pdbFileStreamProvider
Func<String,Stream>

Si se especifica, se llama para abrir un objeto Stream para una ruta de acceso de archivo determinada. Se espera que el proveedor devuelva una instancia de Stream legible y en la que se puedan realizar búsquedas, o bien null si el archivo de destino no existe o se debe omitir por algún motivo. El proveedor debe iniciar una excepción IOException si no puede abrir el archivo debido a un error de E/S inesperado.

pdbReaderProvider
MetadataReaderProvider

Si se ejecuta correctamente, se usará una nueva instancia de MetadataReaderProvider para leer la PDB portable.

pdbPath
String

Si es correcto y el archivo PDB se encuentra en un archivo, la ruta de acceso al archivo o null si el archivo PDB está insertado en la imagen de PE.

Devoluciones

true si la imagen de PE tiene un archivo PDB asociado y el archivo PDB se ha abierto correctamente; de lo contrario, false.

Excepciones

peImagePath o pdbFileStreamProvider es null.

La secuencia devuelta desde pdbFileStreamProvider no admite operaciones de lectura y búsqueda.

No se ha encontrado ningún archivo PDB coincidente debido a un error: la imagen de PE o el archivo PDB no son válidos.

No se ha encontrado ningún archivo PDB coincidente debido a un error: se ha producido un error de E/S al leer la imagen de PE o el archivo PDB.

Comentarios

Este método implementa una búsqueda de archivos PDB simple basada en el contenido del directorio de depuración de imágenes pe. Es posible que una herramienta más sofisticada tenga que realizar un seguimiento con una búsqueda adicional en rutas de búsqueda o en un servidor de símbolos.

El método busca la PDB en el orden siguiente:

  1. Comprueba si hay un archivo PDB coincidente del nombre que se encuentra en la entrada CodeView del directorio que contiene el archivo PE (el directorio de peImagePath).
  2. Comprueba si hay una PDB insertada en la propia imagen de PE.

Se devuelve la primera PDB que coincide con la información especificada en el directorio de depuración.

Se aplica a